Part Number Hot Search : 
00145 SFBUW76 16100 744223 L7812CP CAT93C46 AF9013S 74459215
Product Description
Full Text Search
 

To Download PI7C8140AMA Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  pi7c8140a 2-port pci-to-pci bridge revision 1.01 3545 north first street, san jose, ca 95134 telephone: 1-877-pericom, (1-877-737-4266) fax: 408-435-1100 internet: http://www.pericom.com 07-0067
pi7c8140a 2-port pci-to-pci bridge page 2 of 82 march 20, 2007 ? revision 1.01 life support policy pericom semiconductor corporation? s products are not authorized for use as criti cal components in life support devices or syste ms unless a specific written agreement pertaining to such intended use is executed between the manufactur er and an officer of psc. 1) life support devices or system are devices or systems which: a) are intended for surgical implant into the body or b) support or sustain life and w hose failure to perform, when properly used in accordance with instructions for use provided in the labeling, can be reasonably expected to re sult in a significant in jury to the user. 2) a critical component is any component of a life support device or system whose failure to perf orm can be reasonably expected to cause the failure of the life support device or system, or to affect its safety or effectiveness. pericom semiconductor corporation reserves the right to make changes to its products or specifications at any time, without notice, in order to improve design or performance and to supply the best possible product. pericom semiconductor does not assume any responsibility for use of any circuitry described other than the circuitry embodied in a pericom semiconductor product. the company makes no representations that circuitry described herein is free from patent infringement or other rights of thir d parties which may result from its use. no license is granted by implication or otherwise under any pate nt, patent rights or other rights, of pericom semiconductor corporation. all other trademarks are of their respective companies. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 3 of 82 march 20, 2007 ? revision 1.01 revision history date revision number description 11-13-2003 0.01 first draft of datasheet 03-04-2004 0.02 first release of datasheet 03-24-2004 0.03 corrected reference to the retry counter register in section 2.5.3 from offset 78h to offset 88h. corrected reference to the chip control register in section 2.5.4 from offset 40h to offset 44h. changed/revised pin descri ptions for p_clkrun# and s_clkrun# in section 1.2.3. changed pin descriptions for scan_en and scan_tm# in section 1.2.4. revised pin description for loo pin in section 05-07-2004 1.00 added power consumption and t skew data initial release of the datasheet to the web 03-20-2007 1.01 removed solutions@pericom.com contact information removed ?advance information? from headers preface the pi7c8140a datasheet will be enhanced periodically when updated information is available. the technical information in this datasheet is subject to change without notice. this document describes the functionalities of pi7c8140a and provides technical information for designers to design their hardware using pi7c8140a. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 4 of 82 march 20, 2007 ? revision 1.01 this page intentionally left blank. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 5 of 82 march 20, 2007 ? revision 1.01 table of contents 1 signal definitions .............................................................................................................................11 1.1 signal types ............................................................................................................................... .....11 1.2 signals ............................................................................................................................... ...............11 1.2.1 primary bus interface signals ...................................................................................11 1.2.2 secondary bus interface signals .............................................................................12 1.2.3 clock signals ........................................................................................................................14 1.2.4 miscellaneous signals ....................................................................................................14 1.2.5 power and ground ..............................................................................................................14 1.3 pin list ? 128-pin qfp ......................................................................................................................15 2 pci bus operation ............................................................................................................................... 16 2.1 types of transactions ..............................................................................................................16 2.2 single address phase ................................................................................................................17 2.3 device select (devsel#) generation ..................................................................................17 2.4 data phase ............................................................................................................................... ........17 2.5 write transactions ...................................................................................................................17 2.5.1 memory write transactions .........................................................................................18 2.5.2 memory write and invalidate .....................................................................................18 2.5.3 delayed write transactions ........................................................................................19 2.5.4 write transaction boundaries ...................................................................................20 2.5.5 buffering multiple write transactions ..............................................................20 2.5.6 fast back-to-back transactions ................................................................................20 2.6 read transactions .....................................................................................................................20 2.6.1 prefetchable read transactions .............................................................................21 2.6.2 dynamic prefetching control ....................................................................................21 2.6.3 non-prefetchable read transactions ...................................................................21 2.6.4 read prefetch address boundaries ........................................................................22 2.6.5 delayed read requests ...................................................................................................22 2.6.6 delayed read completion with target .................................................................23 2.6.7 delayed read completion on initiator bus .........................................................23 2.6.8 fast back-to-back read transactions ....................................................................24 2.7 configuration transactions ...............................................................................................24 2.7.1 type 0 access to pi7c8140a ................................................................................................25 2.7.2 type 1 to type 0 conversion ...........................................................................................25 2.7.3 type 1 to type 1 forwarding ..........................................................................................26 2.7.4 special cycles .......................................................................................................................27 2.8 transaction termination .......................................................................................................27 2.8.1 master termination initiated by pi7c8140a ..........................................................28 2.8.2 master abort received by pi7c8140a .........................................................................29 2.8.3 target termination received by pi7c8140a ...........................................................29 2.8.4 target termination initiated by pi7c8140a ...........................................................31 3 address decoding ..............................................................................................................................3 3 3.1 address ranges ............................................................................................................................33 3.2 i/o address decoding .................................................................................................................33 3.2.1 i/o base and limit address register .........................................................................34 3.2.2 isa mode ............................................................................................................................... .....34 3.3 memory address decoding .....................................................................................................35 3.3.1 memory-mapped i/o base an d limit address registers ..................................35 3.3.2 prefetchable memory base and limit address registers ..........................36 07-0067
pi7c8140a 2-port pci-to-pci bridge page 6 of 82 march 20, 2007 ? revision 1.01 3.4 vga support ............................................................................................................................... .....37 3.4.1 vga mode ............................................................................................................................... ...37 3.4.2 vga snoop mode ....................................................................................................................38 4 transaction ordering ...................................................................................................................38 4.1 transactions governed by ordering rules .................................................................38 4.2 general ordering guidelines ...............................................................................................39 4.3 ordering rules .............................................................................................................................39 4.4 data synchronization .............................................................................................................41 5 error handling ............................................................................................................................... ...41 5.1 address parity errors .............................................................................................................41 5.2 data parity errors ....................................................................................................................42 5.2.1 configuration write transact ions to configuration space ...................42 5.2.2 read transactions .............................................................................................................42 5.2.3 delayed write transactions ........................................................................................43 5.2.4 posted write transactions ...........................................................................................45 5.3 data parity error reporting summary ..........................................................................46 5.4 system error (serr#) reporting ...........................................................................................49 6 pci bus arbitration ..........................................................................................................................50 6.1 primary pci bus arbitration .................................................................................................50 6.2 secondary pci bus arbitration ...........................................................................................50 6.2.1 preemption .............................................................................................................................51 6.2.2 bus parking .............................................................................................................................51 7 clocks ............................................................................................................................... .......................51 7.1 primary clock inputs ................................................................................................................51 7.2 secondary clock outputs ......................................................................................................52 7.3 pci clockrun ............................................................................................................................... ...52 8 compact pci hot swap .....................................................................................................................52 9 pci power management .................................................................................................................53 10 reset ............................................................................................................................... .......................53 10.1 primary interface reset .........................................................................................................53 10.2 secondary interface reset ...................................................................................................54 10.3 chip reset ............................................................................................................................... ..........54 11 supported commands ..................................................................................................................54 11.1 primary interface ......................................................................................................................55 11.2 secondary interface ................................................................................................................56 12 bridge behavior .............................................................................................................................56 12.1 bridge actions for various cycle types ........................................................................56 12.2 abnormal termination (ini tiated by bridge master) .............................................57 12.2.1 master abort .........................................................................................................................57 12.2.2 parity and error reporting .........................................................................................57 12.2.3 reporting parity errors .................................................................................................57 12.2.4 secondary idsel mapping ................................................................................................58 13 configuration registers .........................................................................................................59 07-0067
pi7c8140a 2-port pci-to-pci bridge page 7 of 82 march 20, 2007 ? revision 1.01 13.1 register types ............................................................................................................................... 59 13.2 configuration register ...........................................................................................................59 13.2.1 vendor id regist er ? offset 00h ..................................................................................60 13.2.2 device id register ? offset 00h ....................................................................................60 13.2.3 command register ? offset 04h ...................................................................................60 13.2.4 primary status register ? offset 04h ......................................................................61 13.2.5 revision id register ? offset 08h ................................................................................62 13.2.6 class code register ? offset 08h ................................................................................62 13.2.7 cache line register ? offset 0ch ...............................................................................62 13.2.8 primary latency timer register ? offset 0ch .....................................................62 13.2.9 header type register ? offset 0ch ............................................................................62 13.2.10 primary bus number register ? offset 18h .......................................................62 13.2.11 secondary bus number reg ister ? offset 18h .................................................63 13.2.12 subordinate bus number register ? offset 18h .............................................63 13.2.13 secondary latency timer register ? offset 18h ...........................................63 13.2.14 i/o base address register ? offset 1ch ................................................................63 13.2.15 i/o limit address register ? offset 1ch ..............................................................63 13.2.16 secondary status register ? offset 1ch ............................................................64 13.2.17 memory base address register ? offset 20h ....................................................64 13.2.18 memory limit address register ? offset 20h ...................................................65 13.2.19 prefetchable memory base add ress register ? offset 24h ....................65 13.2.20 prefetchable memory limit add ress register ? offset 24h ..................65 13.2.21 prefetchable memory base address up per 32-bits register ? offset 28h .............................................................................................................................. .....................65 13.2.22 prefetchable memory limit address upper 32-bits register ? offset 2ch .............................................................................................................................. .....................66 13.2.23 i/o base address upper 16-bits register ? offset 30h ...................................66 13.2.24 i/o limit address upper 16-bits register ? offset 30h ..................................66 13.2.25 capability pointer register ? offset 34h ..........................................................66 13.2.26 interrupt line register ? offset 3ch ..................................................................66 13.2.27 interrupt pin register ? offset 3ch .....................................................................66 13.2.28 bridge control register ? offset 3ch ................................................................67 13.2.29 subsystem vendor id reg ister ? offset 40h ......................................................68 13.2.30 subsystem id register ? offset 40h ........................................................................68 13.2.31 diagnostic/chip control register ? offset 44h .............................................68 13.2.32 arbiter control register ? offset 44h ...............................................................70 13.2.33 extended chip control register ? offset 48h ................................................70 13.2.34 secondary bus arbiter preemption control register ? offset 4ch ..71 13.2.35 p_serr# event disable reg ister ? offset 64h ...................................................71 13.2.36 secondary clock control register ? offset 68h ..........................................72 13.2.37 p_serr# status register ? offset 68h ....................................................................73 13.2.38 clkrun register ? offset 6ch ...................................................................................74 13.2.39 port option regis ter ? offset 74h ..........................................................................74 13.2.40 capability id register ? offset 80h .......................................................................76 13.2.41 next item pointer register ? offset 80h ............................................................76 13.2.42 power management capabiliti es register ? offset 80h ............................76 13.2.43 power management data register ? offset 84h .............................................77 13.2.44 primary master timeout counter register ? offset 88h ..........................77 13.2.45 secondary master timeout coun ter register ? offset 88h ....................77 13.2.46 capability id register ? offset 90h .......................................................................77 13.2.47 next item pointer register ? offset 90h ............................................................77 13.2.48 hot swap capability struct ure register ? offset 90h ...............................78 13.2.49 hot swap switch reg ister ? offset 94h ...............................................................78 07-0067
pi7c8140a 2-port pci-to-pci bridge page 8 of 82 march 20, 2007 ? revision 1.01 13.2.50 miscellaneous control register ? offset c0h ..............................................78 14 electrical and timing specifications ............................................................................79 14.1 maximum ratings .........................................................................................................................79 14.2 dc specifications .........................................................................................................................79 14.3 ac specifications .........................................................................................................................80 14.4 66mhz timing ............................................................................................................................... ....81 14.5 33mhz timing ............................................................................................................................... ....81 14.6 power consumption ....................................................................................................................81 15 package information .................................................................................................................82 15.1 128-pin qfp package outline ...................................................................................................82 15.2 part number ordering information .................................................................................82 list of tables t able 2-1. pci t ransactions ............................................................................................................................16 t able 2-2. w rite t ransaction f orwarding ..................................................................................................17 t able 2-3. w rite t ransaction d isconnect a ddress b oundaries ..............................................................20 t able 2-4. r ead p refetch a ddress b oundaries ...........................................................................................22 t able 2-5. r ead t ransaction p refetching ....................................................................................................22 t able 2-6. d evice n umber to idsel s_ad p in m apping ..............................................................................26 t able 2-7. d elayed w rite t arget t ermination r esponse ..........................................................................30 t able 2-8. r esponse to p osted w rite t arget t ermination ........................................................................30 t able 2-9. r esponse to d elayed r ead t arget t ermination ......................................................................31 t able 4-1. s ummary of t ransaction o rdering ............................................................................................40 t able 5-1. s etting the p rimary i nterface d etected p arity e rror b it ....................................................46 t able 5-2. s etting s econdary i nterface d etected p arity e rror b it ......................................................46 t able 5-3. s etting p rimary i nterface m aster d ata p arity e rror d etected b it ..................................47 t able 5-4. s etting s econdary i nterface m aster d ata p arity e rror d etected b it .............................47 t able 5-5. a ssertion of p_perr# ....................................................................................................................48 t able 5-6. a ssertion of s_perr# ....................................................................................................................48 t able 5-7. a ssertion of p_serr# for d ata p arity e rrors ........................................................................49 t able 8-1. p ower m anagement t ransitions .................................................................................................53 list of figures f igure 14-1 pci s ignal t iming m easurement c onditions ........................................................................80 f igure 15-1 128- pin qfp package outline ......................................................................................................82 07-0067
pi7c8140a 2-port pci-to-pci bridge page 9 of 82 march 20, 2007 ? revision 1.01 introduction product description the pi7c8140a is pericom semicond uctor?s pci-to-pci bridge, designed to be fully compliant with the 32-bit, 66mhz implementation of the pci local bus specification, revision 2.2. the pi7c8140a supports synchronous bus transactions between devices on the primary bus and the secondary buses operating up to 66mhz. both primary and secondar y buses must operate at the same frequency. the primary and secondary buses can also operate in conc urrent mode, resulting in added increase in system performance. product features - all i/o and memory commands - type 1 to type 0 configuration conversion - type 1 to type 1 configuration forwarding - type 1 configuration write to special cycle conversion - programmable 2-level priority arbiter 07-0067
pi7c8140a 2-port pci-to-pci bridge page 10 of 82 march 20, 2007 ? revision 1.01 this page intentionally left blank. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 11 of 82 march 20, 2007 ? revision 1.01 1 signal definitions 1.1 signal types signal type description i input only o output only p power ts tri-state bi-directional sts sustained tri-state. active low signal must be pulled high for 1 cycle when deasserting. od open drain 1.2 signals signals that end with ?#? are active low. 1.2.1 primary bus interface signals name pin number type description p_ad[31:0] 121, 122, 123, 124, 125, 126, 127, 2, 5, 6, 7, 8, 9, 10, 12, 13, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 40, 41, 42, 43, 44 ts primary address / data: multiplexed address and data bus. address is indicated by p_fram e# assertion. write data is stable and valid when p_irdy# is asserted and read data is stable and valid when p_trdy# is asserted. data is transferred on rising clock edges when both p_irdy# and p_trdy# are asserted. during bus idle, pi7c8140a drives p_ad to a valid logic level when p_gnt# is asserted. p_cbe#[3:0] 3, 14, 24, 34 ts primary command/byte enables: multiplexed command field and byte enable field. during a ddress phase, the initiator drives the transaction type on these pins . after that, the initiator drives the byte enables during data phases. during bus idle, pi7c8140a drives p_cbe#[3:0] to a valid logic level when p_gnt# is asserted. p_par 23 ts primary parity. parity is even across p_ad[31:0], p_cbe#[3:0], and p_par (i.e. an even number of 1?s). p_par is an input and is valid and st able one cycle after the address phase (indicated by assertion of p_frame#) for address parity. for write data phases, p_par is an input and is valid one clock after p_irdy# is asserted. for read data phase, p_par is an output and is valid one clock after p_trdy# is asserted. signal p_par is tri-stated one cycle after the p_ad lines are tri-stated. during bus idle, pi7c8140a drives p_par to a valid logic level when p_gnt# is asserted. p_frame# 15 sts primary frame (active low). driven by the initiator of a transaction to indicate the beginning and duration of an access. the de-assertion of p_frame# indicates the final data phase requested by the initiator. before being tri-stated, it is driven to a de-asserted state for one cycle. p_irdy# 16 sts primary irdy (active low). driven by th e initiator of a transaction to indicate its ability to complete current data phase on the primary side. once asserted in a data phase, it is not de- asserted until the end of the data phase. before tri-stated, it is driven to a de-asserted state for one cycle. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 12 of 82 march 20, 2007 ? revision 1.01 name pin number type description p_trdy# 17 sts primary trdy (active low). driven by the target of a transaction to indicate its ability to complete current data phase on the primary side. once asserted in a data phase, it is not de- asserted until the end of the data phase. before tri-stated, it is driven to a de-asserted state for one cycle. p_devsel# 18 sts primary device select (active low). asserted by the target indicating that the device is accepting the transaction. as a master, pi7c8140a waits for the assertion of this signal within 5 cycles of p_frame# assertion; otherwise, terminate with master abort. before tri-stated, it is driven to a de-asserted state for one cycle. p_stop# 19 i primary stop (active low). asserted by the target indicating that the target is re questing the initiato r to stop the current transaction. before tri-stat ed, it is driven to a de-asserted state for one cycle. p_idsel 4 i primary id select. used as a chip select line for type 0 configuration access to pi7c 8140a configuration space. p_perr# 21 sts primary parity error (active low). asserted when a data parity error is detected for data received on the primary interface. before being tri-stated, it is driv en to a de-asserted state for one cycle. p_serr# 22 od primary system error (active low). can be driven low by any device to indicate a system error condition. pi7c8140a drives this pin on: primary request (active low): this is asserted by pi7c8140a to indicate that it wants to start a transaction on the primary bus. pi7c8140a de-asserts this pin for at least 2 pci clock cycles before asserting it again. p_gnt# 118 i primary grant (active low): when asserted, pi7c8140a can access the primary bus. during idle and p_gnt# asserted, pi7c8140a will drive p_ad, p_cbe , and p_par to valid logic levels. p_rst# 116 i primary reset (active low): when p_rst# is active, all pci signals should be asynchronously tri-stated. 1.2.2 secondary bus interface signals name pin number type description s_ad[31:0] 95, 94, 92, 91, 90, 89, 88, 87, 85, 83, 82, 81, 80, 79, 78, 77, 63, 62, 61, 60, 59, 57, 56, 55, 53, 52, 51, 50, 48, 47, 46, 45 ts secondary address/data: multiplexed address and data bus. address is indicated by s_frame# assertion. write data is stable and valid when s_irdy# is asserted and read data is stable and valid when s_trdy# is asserted. data is transferred on rising clock edges when both s_irdy# and s_trdy# are asserted. during bus idle, pi7c8140a drives s_ad to a valid logic level when s_gnt# is asserted respectively. s_cbe#[3:0] 86, 76, 66, 54 ts secondary command/byte enables: multiplexed command field and byte enable field. during address phase, the initiator drives the transaction type on these pins. the initiator then drives the byte enables during data phases. during bus idle, pi7c8140a drives s_cbe#[3:0] to a valid logic level when the internal grant is asserted. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 13 of 82 march 20, 2007 ? revision 1.01 name pin number type description s_par 67 ts secondary parity: parity is even across s_ad[31:0], s_cbe#[3:0], and s_par (i.e. an even number of 1?s). s_par is an input and is valid and st able one cycle after the address phase (indicated by assertion of s_frame#) for address parity. for write data phases, s_par is an input and is valid one clock after s_irdy# is asserted. for read data phase, s_par is an output and is valid one clock after s_trdy# is asserted. signal s_par is tri-stated one cycle after the s_ad lines are tri-stated. during bus idle, pi7c8140a drives s_par to a valid logic level when the internal grant is asserted. s_frame# 74 sts secondary frame (active low): driven by th e initiator of a transaction to indicate the beginning and duration of an access. the de-assertion of s_frame# indicates the final data phase requested by the initiator. before being tri-stated, it is driven to a de-asserted state for one cycle. s_irdy# 73 sts secondary irdy (active low): driven by the initiator of a transaction to indicate its ability to complete current data phase on the secondary side. once assert ed in a data phase, it is not de- asserted until the end of the data phase. before tri-stated, it is driven to a de-asserted state for one cycle. s_trdy# 72 sts secondary trdy (active low): driven by the target of a transaction to indicate its ability to complete current data phase on the secondary side. once assert ed in a data phase, it is not de- asserted until the end of the data phase. before tri-stated, it is driven to a de-asserted state for one cycle. s_devsel# 71 sts secondary device select (active low): asserted by the target indicating that the device is accepting the transaction. as a master, pi7c8140a waits for the assertion of this signal within 5 cycles of s_frame# assertion; otherwise, terminate with master abort. before tri-stated, it is driven to a de-asserted state for one cycle. s_stop# 70 sts secondary stop (active low): asserted by the target indicating that the target is re questing the initiato r to stop the current transaction. before tri-stat ed, it is driven to a de-asserted state for one cycle. s_perr# 69 sts secondary parity e rror (active low): asserted when a data parity error is detected for data received on the secondary interface. before being tri-stated, it is driven to a de-asserted state for one cycle. s_serr# 68 i secondary system error (active low): can be driven low by any device to indicate a system error condition. s_req#[3:0] 99, 98, 97, 96 i secondary request (active low): this is asserted by an external device to indicate that it wants to start a transaction on the secondary bus. the input is externally pulled up through a resistor to vdd. s_gnt#[3:0] 104, 103, 101, 100 ts secondary grant (active low): pi7c8140a asserts these pins to allow external masters to access the secondary bus. pi7c8140a de-asserts these pins for at least 2 pci clock cycles before asserting it again. during idle and s_gnt# deasserted, pi7c8140a will drive s_ad, s_cbe, and s_par. s_rst# 105 o secondary reset (active low): asserted when any of the following conditions are met: 1. signal p_reset# is asserted. 2. secondary reset bit in br idge control register in configuration space is set. when asserted, all control signals are tri-stated and zeroes are driven on s_ad, s_cbe, and s_par. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 14 of 82 march 20, 2007 ? revision 1.01 1.2.3 clock signals name pin number type description p_clk 117 i primary clock input: provides timing for all transactions on the primary interface. s_clkout[3:0] 110, 109, 108, 107 o secondary clock output: provides secondary clocks phase synchronous with the p_clk. p_clkrun# 115 ts primary clock run: allows main system to stop the primary clock based on the specifications in the pci mobile design guide , revision 1.0. if unused, this pin should be tied to ground to signify that p_clk is always running. s_clkrun# 112 ts secondary clock run: allows main system to slow down or stop the secondary clock and is controlled by the primary or bit[4] offset 6fh. if the secondary devices do not support clkrun, this pin should be pulled low by a 300 ohm resistor. 1.2.4 miscellaneous signals name pin number type description enum# 113 o hot swap status indicator: the output of enum# indicates to the system that an insertion has occurred or that an extraction is about to occur. loo 114 i/o hot swap led: the output of this pin lights an led to indicate insertion or removal ready status. this pin may also be used as a input or detect pin. every 500us, the pin tri-states for 8 primary pci clock cycles to sample the status. scan_tm# 65 i full-scan test mode enable: for normal operation, pull scan_tm# to high. manufacturing test pin. scan_en 106 i/o full-scan enable control: for normal operation, scan_tm# should be pulled high and scan_en becomes an output with logic 0. manufacturing test pin. 1.2.5 power and ground name pin number type description vdd 1, 20, 39, 58, 84, 102, 120 p power: 3.3v power vss 11, 29, 38, 49, 64, 75, 93, 111, 128 p ground 07-0067
pi7c8140a 2-port pci-to-pci bridge page 15 of 82 march 20, 2007 ? revision 1.01 1.3 pin list ? 128-pin qfp pin number name type pin number name type 1 vdd p 2 p_ad[24] ts 3 p_cbe#[3] ts 4 p_idsel i 5 p_ad[23] ts 6 p_ad[22] ts 7 p_ad[21] ts 8 p_ad[20] ts 9 p_ad[19] ts 10 p_ad[18] ts 11 vss p 12 p_ad[17] ts 13 p_ad[16] ts 14 p_cbe#[2] ts 15 p_frame# sts 16 p_irdy# sts 17 t_rdy# sts 18 p_devsel# sts 19 p_stop# i 20 vdd p 21 p_perr# sts 22 p_serr# od 23 p_par ts 24 p_cbe#[1] ts 25 p_ad[15] ts 26 p_ad[14] ts 27 p_ad[13] ts 28 p_ad[12] ts 29 vss p 30 p_ad[11] ts 31 p_ad[10] ts 32 p_ad[9] ts 33 p_ad[8] ts 34 p_cbe#[0] ts 35 p_ad[7] ts 36 p_ad[6] ts 37 p_ad[5] ts 38 vss p 39 vdd p 40 p_ad[4] ts 41 p_ad[3] ts 42 p_ad[2] ts 43 p_ad[1] ts 44 p_ad[0] ts 45 s_ad[0] ts 46 s_ad[1] ts 47 s_ad[2] ts 48 s_ad[3] ts 49 vss p 50 s_ad[4] ts 51 s_ad[5] ts 52 s_ad[6] ts 53 s_ad[7] ts 54 s_cbe#[0] ts 55 s_ad[8] ts 56 s_ad[9] ts 57 s_ad[10] ts 58 vdd p 59 s_ad[11] ts 60 s_ad[12] ts 61 s_ad[13] ts 62 s_ad[14] ts 63 s_ad[15] ts 64 vss p 65 scan_tm# i 66 s_cbe#[1] ts 67 s_par ts 68 s_serr# i 69 s_perr# sts 70 s_stop# sts 71 s_devsel# sts 72 s_trdy# sts 73 s_irdy# sts 74 s_frame# sts 75 vss p 76 s_cbe#[2] ts 77 s_ad[16] ts 78 s_ad[17] ts 79 s_ad[18] ts 80 s_ad[19] ts 81 s_ad[20] ts 82 s_ad[21] ts 83 s_ad[22] ts 84 vdd p 85 s_ad[23] ts 86 s_cbe#[3] ts 87 s_ad[24] ts 88 s_ad[25] ts 89 s_ad[26] ts 90 s_ad[27] ts 91 s_ad[28] ts 92 s_ad[29] ts 93 vss p 94 s_ad[30] ts 95 s_ad[31] ts 96 s_req#[0] i 97 s_req#[1] i 98 s_req#[2] i 99 s_req#[3] i 100 s_gnt#[0] ts 101 s_gnt#[1] ts 102 vdd p 103 s_gnt#[2] ts 104 s_gnt#[3] ts 105 s_rst# o 106 scan_en i/o 107 s_clkout[0] o 108 s_clkout[1] o 109 s_clkout[2] o 110 s_clkout[3] o 111 vss p 112 s_clkrun# ts 113 enum# o 114 loo i/o 07-0067
pi7c8140a 2-port pci-to-pci bridge page 16 of 82 march 20, 2007 ? revision 1.01 pin number name type pin number name type 115 p_clkrun# ts 116 p_rst# i 117 p_clk i 118 p_gnt# i 119 p_req# ts 120 vdd p 121 p_ad[31] ts 122 p_ad[30] ts 123 p_ad[29] ts 124 p_ad[28] ts 125 p_ad[27] ts 126 p_ad[26] ts 127 p_ad[25] ts 128 vss p 2 pci bus operation this chapter offers information about pci transac tions, transaction forwarding across the bridge, and transaction termination. the bridge has two 128-byte fifo?s for buffering of upstream and downstream transactions. these hold addresses, data, commands, and byte enables that are used for write transactions. the bridge also has an additiona l four 128-byte fifo?s that hold addresses, data, commands, and byte enables for read transactions. 2.1 types of transactions this section provides a summary of pci transactions performed by the bridge. table 2-1 lists the command code and name of each pci transaction. the master and target columns indicate support for each transaction when the bridge initiates transactions as a master, on the primary (p) and secondary (s) buses, and when the bridge responds to transactions as a target, on the primary (p) and secondary (s) buses. table 2-1. pci transactions types of transactions initiates as master responds as target primary secondary primary secondary 0000 interrupt acknowledge n n n n 0001 special cycle y y n n 0010 i/o read y y y y 0011 i/o write y y y y 0100 reserved n n n n 0101 reserved n n n n 0110 memory read y y y y 0111 memory write y y y y 1000 reserved n n n n 1001 reserved n n n n 1010 configuration read n y y n 1011 configuration write y (type 1 only) y y y (type 1 only) 1100 memory read multiple y y y y 1101 dual address cycle y y y y 1110 memory read line y y y y 1111 memory write and invalidate y y y y as indicated in table 2-1 , the following pci commands are not supported by the bridge: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 17 of 82 march 20, 2007 ? revision 1.01 2.2 single address phase a 32-bit address uses a single address phase. this address is driven on p_ad[31:0], and the bus command is driven on p_cbe[3:0]. the bridge supports the linear increment address mode only, which is indicated when the lowest two address bits are equal to zero. if either of the lowest two address bits is nonzero, the bridge automatically disconnects the transaction after th e first data transfer. 2.3 device select (d evsel#) generation the bridge always performs positive address decodi ng (medium decode) when accepting transactions on either the primary or secondary buses. the bridge never does subtractive decode. 2.4 data phase the address phase of a pci transaction is followed by one or more data phases. a data phase is completed when irdy# and either trdy# or stop# ar e asserted. a transfer of data occurs only when both irdy# and trdy# are asserted during the same pci clock cycle. the last data phase of a transaction is indicated when frame# is de-asse rted and both trdy# and irdy# are asserted, or when irdy# and stop# are asserted. see section 2.8 for further discussion of transaction termination. depending on the command type, the bridge can s upport multiple data phase pci transactions. for detailed descriptions of how the bridge imposes disconnect boundaries, see section 2.5.4 for write address boundaries and section 2.6.4 read address boundaries. 2.5 write transactions write transactions are treated as either po sted write or delayed write transactions. table 2-2 shows the method of forwarding used for each type of write operation. table 2-2. write transaction forwarding type of transaction type of forwarding memory write posted (except vga memory) memory write and invalidate posted memory write to vga memory delayed i/o write delayed type 1 configuration write delayed 07-0067
pi7c8140a 2-port pci-to-pci bridge page 18 of 82 march 20, 2007 ? revision 1.01 2.5.1 memory write transactions posted write forwarding is used for ?memory write? and ?memory write and invalidate? transactions. when the bridge determines that a memory write tr ansaction is to be forwarded across the bridge, the bridge asserts devsel# with medium timing and trdy# in the next cycle, provided that enough buffer space is available in the posted memory write queue for the address and at least one dword of data. under this condition, the bridge accepts write da ta without obtaining access to the target bus. the bridge can accept one dword of write data every pci clock cycle. that is, no target wait state is inserted. the write data is stored in an internal post ed write buffers and is subsequently delivered to the target. the bridge continues to accept write data until one of the fo llowing events occurs: 2.5.2 memory write and invalidate posted write forwarding is used for me mory write and invalidate transactions. if offset 74h bits [8:7] = 11, the bridge disconnects memory write and invalidate commands at aligned cache line boundaries. the ca che line size value in the cache line size register gives the number of dword in a cache line. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 19 of 82 march 20, 2007 ? revision 1.01 if offset 74h bits [8:7] = 00, the bridge converts memory write and invalidate transactions to memory write transactions at the destination. if the value in the cache line size register does m eet the memory write and invalidate conditions, the bridge returns a target disconnect to the initiator on a cache line boundary. 2.5.3 delayed write transactions delayed write forwarding is used for i/o write trans actions and type 1 configur ation write transactions. a delayed write transaction guarantees that the actual target response is returned back to the initiator without holding the initiating bus in wait states. a delayed write transaction is limited to a single dword data transfer. when a write transaction is first detected on the initiator bus, and the bridge forwards it as a delayed transaction, the bridge claims the access by asse rting devsel# and returns a target retry to the initiator. during the address phase, the bridge samp les the bus command, address, and address parity one cycle later. after irdy# is asserted, the bridge also samples the first data dword, byte enable bits, and data parity. this information is placed in to the delayed transaction queue. the transaction is queued only if no other existing delayed transactions have the same address and command, and if the delayed transaction queue is not full. when the de layed write transaction moves to the head of the delayed transaction queue and all ordering constraints with posted data are satisfied. the bridge initiates the transaction on the target bus. the bridge transfers the write data to the target. if the bridge receives a target retry in response to the write transaction on the target bus, it continues to repeat the write transaction until the data transfer is complete d, or until an error condition is encountered. if the bridge is unable to deliver write data after 2 24 (default) or 2 32 (maximum) attempts, the bridge will report a system error. the bridge also asserts p_serr# if the primary serr# enable bit is set in the command register. see section 5.4 for information on the assertion of p_serr#. when the initiator repeats the same write transaction (same command, address, byte enable bits, and data), and the completed delayed transaction is at the head of th e queue, the bridge claims the access by asserting devsel# and returns trdy# to the initiator, to indicate that the write data was transferred. if the initiator requests multiple dword, the bridge al so asserts stop# in conjunction with trdy# to signal a target disconnect. note that only those byte s of write data with valid byte enable bits are compared. if any of the by te enable bits are turned off (driven high), the corresponding byte of write data is not compared. if the initiator repeats the write transaction before the data has been transferred to the target, the bridge returns a target retry to the initiator. the bridge continues to return a target retry to the initiator until write data is delivered to the target, or until an error condition is encountered. when the write transaction is repeated, the bridge does not make a new entry into the delayed transaction queue. section 2.8.3.1 provides detailed information about how th e bridge responds to target termination during delayed write transactions. the bridge implements a discard timer that starts counting when the delayed write completion is at the head of the delayed transaction completion queue. the initial value of this timer can be set to the retry counter register offset 88h. if the initiator does not repeat the delayed write transaction before the discard timer expires, the bridge 07-0067
pi7c8140a 2-port pci-to-pci bridge page 20 of 82 march 20, 2007 ? revision 1.01 discards the delayed write completion from the delayed transaction completion queue. the bridge also conditionally asserts p_serr# (see section 5.4 ). 2.5.4 write transaction boundaries the bridge imposes internal address boundaries when accepting write data. the aligned address boundaries are used to prevent the bridge from continuing a transaction over a device address boundary and to provide an upper limit on maximum latency. the bridge returns a target disconnect to the initiator when it reaches the aligned addr ess boundaries under conditions shown in table 2-3 . table 2-3. write transaction disconnect address boundaries type of transaction conditi on aligned address boundary delayed write all disconnects after one data transfer posted memory write memory write disconnect control bit = 0 (1) 4kb aligned address boundary posted memory write memory write disconnect control bit = 1 (1) disconnects at cache line boundary posted memory write and invalidate cache line size note 1. memory write disconnect control bit is bit 1 of the chip control register at offset 44h in the configuration space. 2.5.5 buffering multiple write transactions the bridge continues to accept posted memory write transactions as long as space for at least one dword of data in the posted write data buffer remain s. if the posted write data buffer fills before the initiator terminates the write transaction, the bridge returns a target disconnect to the initiator. delayed write transactions are posted as long as at least one open entry in the delayed transaction queue exists. therefore, several posted an d delayed write transactions can exist in data buffers at the same time. see chapter 5 for information about how multiple post ed and delayed write transactions are ordered. 2.5.6 fast back-to-back transactions the bridge can recognize and post fast back-to-back write transactions. when the bridge cannot accept the second transaction because of buffer space limita tions, it returns a target retry to the initiator. the fast back-to-back enable bit must be set in the command register for upstream write transactions, and in the bridge control register for downstream write transactions. 2.6 read transactions delayed read forwarding is used for all read transactions crossing the bridge. delayed read transactions are treated as either prefet chable or non- prefetchable. table 2-5 shows the read behavior, prefetchable or non-prefetchable, for each type of read operation. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 21 of 82 march 20, 2007 ? revision 1.01 2.6.1 prefetchable read transactions a prefetchable read transaction is a read trans action where the bridge performs speculative dword reads, transferring data from the ta rget before it is requested from the initiator. this behavior allows a prefetchable read transaction to co nsist of multiple data transfers. ho wever, byte enable bits cannot be forwarded for all data phases as is done for the single data phase of the non-prefetchable read transaction. for prefetchable read tr ansactions, the bridge forces all byte enable bits to be turned on for all data phases. prefetchable behavior is used for memory read lin e and memory read multiple transactions, as well as for memory read transactions that fall into prefetchable memory space. the amount of data that is pre-fetched depends on the type of transaction. the amount of pre-fetching may also be affected by the amount of free buffer sp ace available in the bridge, and by any read address boundaries encountered. pre-fetching should not be used for those read transactions that have side effects in the target device, that is, control and status registers, fifo?s, and so on. the target device?s base address register or registers indicate if a memory address region is prefetchable. 2.6.2 dynamic prefetc hing control for prefetchable reads described in the previous sec tion, the prefetching length is normally predefined and cannot be changed once it is set. this may cause some inefficiency as the prefetching length determined could be larger or smaller than the actua l data being prefetched. to make prefetching more efficient, pi7c8140a incorporates dynamic prefetching control logic. this logic regulates the different pci memory read commands (mr ? memory read, mrl ? memory read line, and mrm ? memory read multiple) to improve memory read burst performa nce. the bridge tracks every memory read burst transaction and tallies the status. by using the status information, the bridge can determine to increase, reduce, or keep the same cache line le ngth to be prefetched. over tim e, the bridge can better match the correct cache line setting to the length of data being requested. the dynamic prefetching control logic is set with bits[3:2] offset 48h. 2.6.3 non-prefetchable read transactions a non-prefetchable read transaction is a read transaction where the bridge requests one and only one dword from the target and disconnects the initiator after delivery of the first dword of read data. unlike prefetchable read transactions , the bridge forwards the read byte enable information for the data phase. non-prefetchable behavior is used for i/o and configuration read transactions, as well as for memory read transactions that fall into non-prefetchable memory space. if extra read transactions could have side eff ects, for example, when accessing a fifo, use non- prefetchable read transactions to those locations. accord ingly, if it is important to retain the value of the byte enable bits during the data phase, use non-prefetchable read transactions. if these locations are mapped in memory space, use the memory read comm and and map the target into non-prefetchable (memory-mapped i/o) memory space to use non-prefetching behavior. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 22 of 82 march 20, 2007 ? revision 1.01 2.6.4 read prefetch address boundaries the bridge imposes internal read ad dress boundaries on read pre-fetched data. when a read transaction reaches one of these alig ned address boundaries, the bridge stops pre-fetched data, unless the target signals a target disconnect before the read pre-fetched boundary is reached. when the bridge finishes transferring this read data to the initiator, it returns a target disconnect with the last data transfer, unless the initiator completes the transaction before all pre -fetched read data is delivered. any leftover pre- fetched data is discarded. prefetchable read transactions in flow-through mode pre-fetch to the nearest aligned 4kb address boundary, or until the initiator de-asserts frame_l. section 2.6.7 describes flow-through mode during read operations. table 2-4 shows the read prefetch address boundaries for read transactions during non-flow-through mode. table 2-4. read prefetch address boundaries type of transaction address space cache line size (cls) prefetch aligned address boundary configuration read - * one dword (no prefetch) i/o read - * one dword (no prefetch) memory read non-prefetchable * one dword (no prefetch) memory read prefetchable cls = 0 or 16 16-dword aligned address boundary memory read prefetchable cls = 1, 2, 4, 8, 16 cache line address boundary memory read line - cls = 0 or 16 16-dword aligned address boundary memory read line - cls = 1, 2, 4, 8, 16 cache line boundary memory read multiple - cls = 0 or 16 32-dword aligned address boundary memory read multiple - cls = 1, 2, 4, 8, 16 2x of cache line boundary - does not matter if it is pref etchable or non-prefetchable * don?t care table 2-5. read transaction prefetching type of transaction read behavior i/o read prefetching never allowed configuration read prefetching never allowed downstream: prefetching used if address is prefetchable space memory read upstream: prefetching used or programmable memory read line prefetching always used memory read multiple prefetching always used see section 3.3 for detailed information about prefetch able and non-prefetchable address spaces. 2.6.5 delayed read requests the bridge treats all read transactions as delayed read transactions, which means that the read request from the initiator is posted into a delayed transactio n queue. read data from th e target is placed in the read data queue directed toward the initiator bus interface and is tran sferred to the initiator when the initiator repeats the read transaction. when the bridge accepts a delayed read request, it fi rst samples the read address, read bus command, and address parity. when irdy# is asserted, the bridge then samples the byte enable bits for the first data phase. this information is entered into the delayed transaction queue. the bridge terminates the transaction by signaling a target retry to the initiator. upon reception of the targ et retry, the initiator is 07-0067
pi7c8140a 2-port pci-to-pci bridge page 23 of 82 march 20, 2007 ? revision 1.01 required to continue to repeat the same read transac tion until at least one data transfer is completed, or until a target response (target ab ort or master abort) other than a target retry is received. 2.6.6 delayed read completion with target when delayed read request reaches the head of the de layed transaction queue, the bridge arbitrates for the target bus and initiates the read transaction only if all previously queued posted write transactions have been delivered. the bridge uses the exact read address and read command captured from the initiator during the initial delayed read request to initiate the read transaction. if the read transaction is a non-prefetchable read, the bridge dr ives the captured byte enable bits during the next cycle. if the transaction is a prefetchable read tr ansaction, it drives all byte enable bits to zero for all data phases. if the bridge receives a target retry in response to th e read transaction on the target bus, it continues to repeat the read transaction until at least one data tr ansfer is completed, or until an error condition is encountered. if the transaction is terminated via norma l master termination or target disconnect after at least one data transfer has been completed, the bridge does not initiate any further attempts to read more data. if the bridge is unable to obtain read data from the target after 2 24 (default) or 2 32 (maximum) attempts, the bridge will report system error. the number of attempts is programmable. the bridge also asserts p_serr# if the primary serr# enable bit is set in the command register. see section 5.4 for information on the assertion of p_serr#. once the bridge receives devsel# and trdy# from the target, it transfers the data read to the opposite direction read data queue, pointing toward the opposite inter-face, before terminating the transaction. for example, read data in response to a downstream read transaction initiated on the primary bus is placed in the upstream read data que ue. the bridge can accept one dword of read data each pci clock cycle; that is, no master wait states are inserted. th e number of dword?s transferred during a delayed read transaction depends on the conditions given in table 2-4 (assuming no disconnect is received from the target). 2.6.7 delayed read completion on initiator bus when the transaction has been completed on the target bus, and the delayed read data is at the head of the read data queue, and all orderi ng constraints with posted write tr ansactions have been satisfied, the bridge transfers the data to the initiator when the initiator repeats the transaction. for memory read transactions, the bridge aliases the memory read, memory read line, and memory read multiple bus commands when matching the bus command of the transaction to the bus command in the delayed transaction queue. the bridge returns a target discon nect along with the transf er of the last dword of read data to the initiator. if the bridge initiator term inates the transaction before all read data has been transferred, the remaining read data left in data buffers is discarded. when the master repeats the transaction and starts tran sferring prefetchable read data from data buffers while the read transaction on the target bus is still in progress and before a read boundary is reached on the target bus, the read transaction starts operating in flow-throu gh mode. because data is flowing through the data buffers from the target to the initiator, long read bursts can then be sustained. in this case, the read transaction is allowed to continue un til the initiator terminates the transaction, or until an aligned 4kb address boundary is reached, or until the buffer fills, wh ichever comes first. when the buffer empties, the bridge reflects the stalled cond ition to the initiator by disconnecting the initiator with data. the initiator may retry the transaction later if data are needed. if the initiator does not need any more data, the initiator will not continue the disco nnected transaction. in this case, the bridge will 07-0067
pi7c8140a 2-port pci-to-pci bridge page 24 of 82 march 20, 2007 ? revision 1.01 start the master timeout timer. the remaining read da ta will be discarded after the master timeout timer expires. to provide better latency, if there are any other pending data for other transactions in the rdb (read data buffer), the remaining read data will be discarded even though the master timeout timer has not expired. the bridge implements a master ti meout timer that starts counting when the delayed read completion is at the head of the delayed transaction queue, and the re ad data is at the head of the read data queue. the initial value of this timer is programmable through configuration register. if the initiator does not repeat the read transaction and before the master timeout timer expires (2 15 default), the bridge discards the read transaction and read data from its queues. the bridge also conditionally asserts p_serr# (see section 5.4 ). the bridge has the capability to post multiple delayed read requests, up to a maximum of four in each direction. if an initiator starts a read transaction that matches the address and read command of a read transaction that is already queued, the current read command is not post ed as it is already contained in the delayed transaction queue. see section 4 for a discussion of how delayed read transactions are ordered when crossing the bridge. 2.6.8 fast back-to-back read transactions the bridge can recognize fast b ack-to-back read transactions. 2.7 configuration transactions configuration transactions are used to initialize a pci system. every pci device has a configuration space that is accessed by configuration commands. all registers are accessible in configuration space only. in addition to accepting configuration transactions for initialization of its own configuration space, the bridge also forwards configuration transactions for device initialization in hierarchical pci systems, as well as for special cycle generation. to support hierarchical pci bus systems, two types of configuration transactions are specified: type 0 and type 1. type 0 configuration transactions ar e issued when the intended target resides on the same pci bus as the initiator. a type 0 configuration transaction is identified by the confi guration command and the lowest two bits of the address set to 00b. type 1 configuration transactions are issued when the intended target resides on another pci bus, or when a special cycle is to be generated on another pci bus. a type 1 configuration command is identified by the configuration command and the lowest two address bits set to 01b. the register number is found in both type 0 and type 1 formats and gives the dword address of the configuration register to be accessed. the function number is also included in both type 0 and type 1 formats and indicates which function of a multifunction device is to be accessed. for single-function devices, this value is not decoded. the addresses of type 1 configuration transaction include a 5-bit field designating the device number that identifies the device on the target pci bus that is to be 07-0067
pi7c8140a 2-port pci-to-pci bridge page 25 of 82 march 20, 2007 ? revision 1.01 accessed. in addition, the bus number in type 1 tr ansactions specifies the pci bus to which the transaction is targeted. 2.7.1 type 0 access to pi7c8140a the configuration space is accessed by a type 0 conf iguration transaction on the primary interface. the configuration space cannot be accessed from the se condary bus. the bridge responds to a type 0 configuration transaction by asse rting p_devsel# when the following conditions are met during the address phase: 2.7.2 type 1 to type 0 conversion type 1 configuration transactions are used specifica lly for device configurati on in a hierarchical pci bus system. a pci-to-pci bridge is the only type of device that should respond to a type 1 configuration command. type 1 configuration commands are used when the configuration access is intended for a pci device that resides on a pci bus other than the one where the type 1 transaction is generated. the bridge performs a type 1 to type 0 translation when the type 1 transaction is generated on the primary bus and is intended for a device attached dir ectly to the secondary bus. the bridge must convert the configuration command to a type 0 format so th at the secondary bus device can respond to it. type 1 to type 0 translations are performed only in the do wnstream direction; that is, the bridge generates a type 0 transaction only on the secondary bus, and never on the primary bus. the bridge responds to a type 1 configuration transac tion and translates it into a type 0 transaction on the secondary bus when the following cond itions are met during the address phase: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 26 of 82 march 20, 2007 ? revision 1.01 table 2-6. device number to idsel s_ad pin mapping device number p_ad[15:11] secondary idsel s_ad[31:16] s_ad 0h 00000 0000 0000 0000 0001 16 1h 00001 0000 0000 0000 0010 17 2h 00010 0000 0000 0000 0100 18 3h 00011 0000 0000 0000 1000 19 4h 00100 0000 0000 0001 0000 20 5h 00101 0000 0000 0010 0000 21 6h 00110 0000 0000 0100 0000 22 7h 00111 0000 0000 1000 0000 23 8h 01000 0000 0001 0000 0000 24 9h 01001 0000 0010 0000 0000 25 ah 01010 0000 0100 0000 0000 26 bh 01011 0000 1000 0000 0000 27 ch 01100 0001 0000 0000 0000 28 dh 01101 0010 0000 0000 0000 29 eh 01110 0100 0000 0000 0000 30 fh 01111 1000 0000 0000 0000 31 10h ? 1eh 10000 ? 11110 0000 0000 0000 0000 - 1fh 11111 generate special cycle (p_ad[7:2] > 00h) 0000 0000 0000 0000 (p_ad[7:2] = 00h) - the bridge can assert up to 16 unique addres s lines to be used as idsel signals for up to 16 devices on the secondary bus, for device numbers ranging from 0 through 15. because of electrical loading constraints of the pci bus, more than 9 idsel signals should not be necessary. however, if device numbers greater than 15 are de sired, some external method of generating idsel lines must be used, and no upper address bits are then asserted. the configuration transaction is still translated and passed from the primary bus to the secondary bus. if no idsel pin is asserted to a secondary device, the transaction ends in a master abort. the bridge forwards type 1 to type 0 configuration read or write transactions as delayed transactions. type 1 to type 0 configuration read or write trans actions are limited to a single 32-bit data transfer. 2.7.3 type 1 to type 1 forwarding type 1 to type 1 transaction forwarding provides a hierarchical configurati on mechanism when two or more levels of pci-to-pci bridges are used. when the bridge detects a type 1 configuration transaction intended for a pci bus downstream from the secondary bus, the bridge forwar ds the transaction unchanged to the secondary bus. ultimately, this transaction is translated to a ty pe 0 configuration command or to a special cycle transaction by a downstream pci-to-pci bridge. downstream type 1 to type 1 forwarding occurs when the following conditions are met during the address phase: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 27 of 82 march 20, 2007 ? revision 1.01 2.7.4 special cycles the type 1 configuration mechanism is used to genera te special cycle transactions in hierarchical pci systems. special cycle transactions are ignored by acting as a target and are not forwarded across the bridge. special cycle transactions can be generated from type 1 configuration write transactions in either the upstream or the down-stream direction. the birdge initiates a special cycle on the target bus when a type 1 configuration write transaction is being detected on the initiating bus and the following conditions are met during the address phase: 2.8 transaction termination this section describes how bridge returns transac tion termination conditions back to the initiator. the initiator can terminate transactions with one of the following types of termination: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 28 of 82 march 20, 2007 ? revision 1.01 normal termination normal termination occurs when the initiator de-asse rts frame# at the beginning of the last data phase, and de-asserts irdy# at the end of the last data phase in conjunction with either trdy# or stop# assertion from the target. master abort a master abort occurs when no target response is detected. when the initiator does not detect a devsel# from the target within five clock cycles after asserting frame#, the initiator terminates the transaction with a master ab ort. if frame# is still asserted, the initiator de-asserts frame# on the next cycle, and then de-asserts irdy# on the following cycle. irdy# must be asserted in the same cycle in which frame# de-asserts. if frame# is already de-asserted, irdy# can be de-asserted on the next clock cycle following detection of the master abort condition. the target can terminate trans actions with one of the following types of termination: normal termination trdy# and devsel# asserted in conjunction with frame# de-asserted and irdy# asserted. target retry stop# and devsel# asserted with trdy# de-asserted during the first data phase. no data transfers occur during the transaction. this transaction must be repeated. target disconnect with data transfer stop#, devsel# and trdy# asserted. it signals th at this is the last data transfer of the transaction. target disconnect wi thout data transfer stop# and devsel# asserted with trdy# de-asserted after previous data transfers have been made. indicates that no more data transfer s will be made during this transaction. target abort stop# asserted with devsel# and trdy# de-asserted. indicates that target will never be able to complete this transaction. devsel# must be assert ed for at least one cycle during the transaction before the target abort is signaled. 2.8.1 master termination in itiated by pi7c8140a the bridge, as an initiator, uses normal termination if devsel# is returned by target within five clock cycles of the bridge?s assertion of frame# on the ta rget bus. as an initiator, the bridge terminates a transaction when the following conditions are met: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 29 of 82 march 20, 2007 ? revision 1.01 if the bridge is pre-fetching read data when it terminates the transaction because the master latency timer expires, it does not repeat the transaction to obtain more data. 2.8.2 master abort rece ived by pi7c8140a if the initiator initiates a transaction on the target bus and does not detect devsel# returned by the target within five clock cycles of the assertion of frame#, the bridge terminates the transaction with a master abort. this sets the received-master-abort bit in the status register corresponding to the target bus. for delayed read and write transactions, the bridge is able to reflect the master abort condition back to the initiator. when the bridge detects a master abort in response to a delayed transaction, and when the initiator repeats the transaction, the bridge does not respond to the transaction with devsel#, which induces the master abort condition back to the in itiator. the transaction is then removed from the delayed transaction queue. when a master abort is r eceived in response to a posted write transaction, the bridge discards the posted write data and makes no more attempts to deliver the data. the bridge sets the received-master-abort bit in the status regist er when the master abort is received on the primary bus, or it sets the received master abort bit in the se condary status register when the master abort is received on the secondary interface. wh en master abort is detected in posted write transaction with both master-abort-mode bit (bit 5 of bridge control register) and the serr# enable bit (bit 8 of command register for secondary bus) are set, the bridge asserts p_serr# if the master-abort-on-posted-write is not set. the master-abort-on-posted-write bit is bit 4 of the p_serr# event disable register (offset 64h). note: when the bridge performs a type 1 to special cy cle conversion, a master abort is the expected termination for the special cycle on th e target bus. in this case, the master abort received bit is not set, and the type 1 configuration transaction is disconnected after the first data phase. 2.8.3 target termination re ceived by pi7c8140a when the bridge initiates a transaction on the target bus and the target responds with devsel#, the target can end the transaction with one of the following types of termination: 2.8.3.1 delayed write targ et termination response when the bridge initiates a delayed write transaction, the type of target termination received from the target can be passed back to the initiator. table 2-7 shows the response to each type of target termination that occurs during a delayed write transaction. the bridge repeats a delayed write transaction until one of the following conditions is met: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 30 of 82 march 20, 2007 ? revision 1.01 table 2-7. delayed write target termination response target termination response normal returning disconnect to in itiator with first data transfer onl y if multiple data phases requested. target retry returning target retry to initiator. continue write attempts to target target disconnect returning disconnect to initiator with first da ta transfer only if multiple data phases requested. target abort returning target abort to initiator. set received target abort b it in target interface status register. set signaled target abort bit in initiator interface status register. after the bridge makes 2 24 (default) attempts of the same delaye d write trans-action on the target bus, the bridge asserts p_serr# if the serr# enable bit (bit 8 of command register for the secondary bus) is set and the delayed-write-non-delivery bit is not set. the delayed-write-non- delivery bit is bit 5 of p_serr# event disable register (offset 64h). the bridge will report system error. see section 5.4 for a description of system error conditions. 2.8.3.2 posted write ta rget termination response when the bridge initiates a posted write transaction, the target termination cannot be passed back to the initiator. table 2-8 shows the response to each type of target termination that occurs during a posted write transaction. table 2-8. response to post ed write target termination target termination repsonse normal no additional action. target retry repeating write transaction to target. target disconnect initiate write transaction for delivering remaining posted write data. target abort set received-target-abort bit in the target interface status register. assert p_serr# if enabled, and set the signale d-system-error bit in primary status register. note that when a target retry or ta rget disconnect is returned and posted write data associated with that transaction remains in the write bu ffers, the bridge initiates another write transaction to attempt to deliver the rest of the write data. if there is a target retry, the exact same address will be driven as for the initial write trans-action attempt. if a target disconnect is receive d, the address that is driven on a subsequent write transaction attempt will be updated to reflect the address of the current dword. if the initial write transaction is memory-write-and-inva lidate transaction, and a partial delivery of write data to the target is performed before a target di sconnect is received, the bridge will use the memory write command to deliver the rest of the write data. it is because an incomplete cache line will be transferred in the subsequent write transaction attempt. after the bridge makes 2 24 (default) write transaction attempts and fails to deliver all posted write data associated with that transaction, the bridge assert s p_serr# if the primary se rr# enable bit is set (bit 8 of command register for secondary bus) and posted-write-non-delivery bit is not set. the posted- write-non-delivery bit is the bit 2 of p_serr# event di sable register (offset 64h). the bridge will report system error. see section 5.4 for a discussion of system error conditions. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 31 of 82 march 20, 2007 ? revision 1.01 2.8.3.3 delayed read target termination response when the bridge initiates a delayed read transaction, the abnormal target responses can be passed back to the initiator. other target responses depend on how much data the initiator requests. table 2-9 shows the response to each type of target termination that occurs during a delayed read transaction. the bridge repeats a delayed read transaction until one of the following conditions is met: table 2-9. response to dela yed read target termination target termination response normal if prefetchable, target disc onnect only if initiator requests more da ta than read fr om target. if non-prefetchable, target disc onnect on first data phase. target retry re-initiate r ead transaction to target target disconnect if initiator requests mo re data than read from target, re turn target disconnect to initiator. target abort return target abort to initiator. set received target abor t bit in the target interface status register. set signaled target abort bit in the initiator interface status register. after the bridge makes 2 24 (default) attempts of the same delayed read transaction on the target bus, the bridge asserts p_serr# if the primary serr# en able bit is set (bit 8 of command register for secondary bus) and the delayed-write-non-delivery bit is not set. the delayed-write-non-delivery bit is bit 5 of p_serr# event disable register (offset 64h) . the bridge will report system error. see section 5.4 for a description of system error conditions. 2.8.4 target termination in itiated by pi7c8140a the bridge can return a target retry, target disconnect, or target abort to an initiator for reasons other than detection of that condition at the target interface. 2.8.4.1 target retry the bridge returns a target retry to the initiator when it cannot accept write data or return read data as a result of internal conditions. the bridge returns a target retry to an initiator when any of the following conditions is met: for delayed write transactions: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 32 of 82 march 20, 2007 ? revision 1.01 for delayed read transactions: for posted write transactions: 2.8.4.2 target disconnect the bridge returns a target disconnect to an initiator when one of the following conditions is met: 2.8.4.3 target abort the bridge returns a target abort to an initiator when one of the following conditions is met: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 33 of 82 march 20, 2007 ? revision 1.01 3 address decoding the bridge uses three address ranges that cont rol i/o and memory transaction forwarding. these address ranges are defined by base and limit address registers in the configuration space. this chapter describes these address ranges, as well as isa-mode and vga-addressing support. 3.1 address ranges the bridge uses the following address ranges that determine which i/o and memory transactions are forwarded from the primary pci bus to the secondary pci bus, and from the secondary bus to the primary bus: 3.2 i/o address decoding the bridge uses the following mechan isms that are defined in the conf iguration space to specify the i/o address space for downstream and upst ream forwarding: caution if any configuration state affecting i/o transaction forwarding is changed by a configuration write operation on the primary bus at the same time that i/o transactions are ongoing on the secondary bus, 07-0067
pi7c8140a 2-port pci-to-pci bridge page 34 of 82 march 20, 2007 ? revision 1.01 the bridge response to the secondary bus i/o transactions is not predictable. configure the i/o base and limit address registers, isa enable bit, vga mode bit, and vga snoop bit before setting i/o enable and master enable bits, and change them subsequently only when the primary and secondary pci buses are idle. 3.2.1 i/o base and limit address register the bridge implements one set of i/o base and limit address registers in config uration space that define an i/o address range per port downstream forwarding. the bridge supports 32-bit i/o addressing, which allows i/o addresses downstream of the bridge to be mapped anywhere in a 4gb i/o address space. i/o transactions with addresses that fall inside the range defined by the i/o base and limit registers are forwarded downstream from the primary pci bus to the secondary pci bus. i/o transactions with addresses that fall outside this range are forwarde d upstream from the secondar y pci bus to the primary pci bus. the i/o range can be turned off by setting the i/o base address to a value greater than that of the i/o limit address. when the i/o range is turned off, all i/o trans-actions are forw arded upstream, and no i/o transactions are forwarded downstream. the i/o range has a minimum granularity of 4kb and is aligned on a 4kb boundary. the maximum i/o range is 4gb in size. the i/o base register consists of an 8-bit field at configuration addr ess 1ch, and a 16-bit field at address 30h. the top 4 bits of the 8-bit field define bits [15:12] of the i/o base address. the bottom 4 bits read only as 1h to indicate that the bridge supports 32-bit i/o addressing. bits [11:0] of the base address are assumed to be 0, which naturally aligns the base address to a 4kb boundary. th e 16 bits contained in the i/o base upper 16 bits register at configuration offset 30h define ad[31:16] of the i/o base address. all 16 bits are read/write. after primary bus reset or chip reset, the value of the i/o base address is initialized to 0000 0000h. the i/o limit register consists of an 8-bit field at configuration offset 1dh an d a 16-bit field at offset 32h. the top 4 bits of the 8-bit field define bits [15:12] of the i/o limit address. the bottom 4 bits read only as 1h to indicate that 32-bit i/o addressing is supported. bits [11:0] of the limit address are assumed to be fffh, which naturally aligns the limit address to the top of a 4kb i/o address block. the 16 bits contained in the i/o limit upper 16 bits register at configuration offset 32h define ad[31:16] of the i/o limit address. all 16 bits are read/write. afte r primary bus reset or chip reset, the value of the i/o limit address is reset to 0000 0fffh. note: the initial states of the i/o base and i/o limit addr ess registers define an i/o range of 0000 0000h to 0000 0fffh, which is the bottom 4kb of i/o space. write thes e registers with their appropriate values before setting either the i/o enable bit or the master enable bit in the command register in configuration space. 3.2.2 isa mode the bridge supports isa mode by providing an is a enable bit in the bridge control register in configuration space. isa mode modifies the response of the bridge inside the i/o address range in order to support mapping of i/o space in the presence of an isa bus in the system. this bit only affects the response of the bridge when the transaction falls in side the address range defined by the i/o base and limit address registers, and only wh en this address also falls inside the first 64kb of i/o space (address bits [31:16] are 0000h). when the isa enable bit is set, the bridge does not forward downstream any i/o transactions addressing the top 768 bytes of each aligned 1kb block. only those transactions addressing the bottom 256 bytes of an aligned 1kb block inside the base and limit i/o address range 07-0067
pi7c8140a 2-port pci-to-pci bridge page 35 of 82 march 20, 2007 ? revision 1.01 are forwarded downstream. transactions above the 64kb i/o address boundary are forwarded as defined by the address range defined by the i/o base and limit registers. accordingly, if the isa enable bit is set, the bridge forwards upstream those i/o transactions addressing the top 768 bytes of each aligned 1kb block within th e first 64kb of i/o space. the master enable bit in the command configuration register must also be set to enable upstream forwarding. all other i/o transactions initiated on the secondary bus are forw arded upstream only if they fall outside the i/o address range. when the isa enable bit is set, devices downstream of the bridge can have i/o space mapped into the first 256 bytes of each 1kb chunk below the 64kb boundary, or anywhere in i/o space above the 64kb boundary. 3.3 memory ad dress decoding the bridge has three mechanisms for defining memory address ranges for forwarding of memory transactions: caution if any configuration state affecting memory transaction forwarding is changed by a configuration write operation on the primary bus at the same time that memory transactions are ongoing on the secondary bus, response to the secondary bus memory transactions is not predictable. configure the memory- mapped i/o base and limit address registers, prefet chable memory base and limit address registers, and vga mode bit before setting the memory enable and master enable bits, and change them subsequently only when the primary and secondary pci buses are idle. 3.3.1 memory-mapped i/o base a nd limit address registers memory-mapped i/o is also referred to as non-pr efetchable memory. memory addresses that cannot automatically be pre-fetched but that can be cond itionally pre-fetched based on command type should be mapped into this space. read transactions to non- prefetchable space may exhi bit side effects; this space may have non-memory-like beha vior. the bridge prefetches in this space only if the memory read line or memory read multiple commands are used; transactions using the memory read command are limited to a single data transfer. the memory-mapped i/o base address and memory-mapped i/o limit address registers define an address range that the bridge uses to determin e when to forward memory commands. the bridge forwards a memory transaction from the primary to the secondary inte rface if the transaction address falls within the memory-mapped i/o address range. the bridge ignores memory transactions initiated 07-0067
pi7c8140a 2-port pci-to-pci bridge page 36 of 82 march 20, 2007 ? revision 1.01 on the secondary interface that fall in to this address range. any transactions that fall outside this address range are ignored on the primar y interface and are forwarded upst ream from the secondary interface (provided that they do not fall into the prefetchable memory range or are not forwarded downstream by the vga mechanism). the memory-mapped i/o range supports 32-bit addressing only. the pci-to-pci bridge architecture specification does not provide fo r 64-bit addressing in the memory-mapped i/o space. the memory- mapped i/o address range has a granularity and alignment of 1mb. the maximum memory-mapped i/o address range is 4gb. the memory-mapped i/o address range is defined by a 16-bit memory-mapped i/o base address register at configuration offset 20h and by a 16-b it memory-mapped i/o limit address register at offset 22h. the top 12 bits of each of these registers correspond to bits [31:20] of the memory address. the low 4 bits are hardwired to 0. the lowest 20 bits of the memory-mapped i/o base address are assumed to be 0 0000h, which results in a natural alignment to a 1mb boundary. the lowest 20 bits of the memory-mapped i/o limit address are assumed to be fffffh, which results in an alignment to the top of a 1mb block. note: the initial state of the memory-mapped i/o base address register is 0000 0000h. the initial state of the memory-mapped i/o limit address register is 000f ffffh. note that the initial states of these registers define a memory-mapped i/o range at the bottom 1mb block of memory. write these registers with their appropriate values before setting either the memory enable bit or the master enable bit in the command register in configuration space. to turn off the memory-mapped i/o address range, write the memory-mapped i/o base address register with a value greater than that of the memory-mapped i/o limit address register. 3.3.2 prefetchable memory base a nd limit address registers locations accessed in the prefetchable memory addre ss range must have true memory-like behavior and must not exhibit side effects when read. this means that extra reads to a prefetchable memory location must have no side effects. the bridge prefetches fo r all types of memory read commands in this address space. the prefetchable memory base address and prefetch able memory limit address registers define an address range that the bridge uses to determin e when to forward memory commands. the bridge forwards a memory transaction from the primary to the secondary inte rface if the transaction address falls within the prefetchable memory address range. the bridge ignores memory transactions initiated on the secondary interface that fa ll into this address range. the bridge does not respond to any transactions that fall outside this address range on the primary interf ace and forwards those transactions upstream from the secondary interface (provided that they do not fall into the memory-mapped i/o range or are not forwarde d by the vga mechanism). the prefetchable memory range supports 64-bit addr essing and provides additional registers to define the upper 32 bits of the memory address range, the prefetchable memory base address upper 32 bits register, and the prefetchable memo ry limit address upper 32 bits re gister. for address comparison, a single address cycle (32-bit address) prefetchable memory transaction is treated like a 64-bit address transaction where the upper 32 bits of the address are equal to 0. this upper 32-bit value of 0 is compared to the prefetchable memory base address upper 32 bits register and the prefetchable memory limit address upper 32 bits register. the prefetchable memory base address upper 32 bits register must be 0 to pass any single address cycle transactions downstream. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 37 of 82 march 20, 2007 ? revision 1.01 prefetchable memory address range has a granul arity and alignment of 1mb. maximum memory address range is 4gb when 32-bit addressing is be ing used. prefetchable memory address range is defined by a 16-bit prefetchable memory base address register at configuration offset 24h and by a 16- bit prefetchable memory limit address register at offset 26h. the top 12 bits of each of these registers correspond to bits [31:20] of the memory address. the lowest 4 bits are hardwired to 1h. the lowest 20 bits of the prefetchable memory base address are assumed to be 0 0000h, which results in a natural alignment to a 1mb boundary. the lowest 20 bits of the prefetchable memory limit address are assumed to be fffffh, which results in an alignment to the top of a 1mb block. note: the initial state of the prefetchable memory base address register is 0000 0000h. the initial state of the prefetchable memory limit address register is 000f ffffh. note that the initial states of these registers define a prefetchable memory range at the bottom 1mb block of memory. write these registers with their appropriate values before setting either the memory enable bit or the master enable bit in the command register in configuration space. to turn off the prefetchable memory address range, write the prefetchab le memory base address register with a value greater than that of the prefetchable memory limit addr ess register. the entire base value must be greater than the entire limit value, meaning that the upper 32 bits must be considered. therefore, to disable the address range, the upper 32 bits registers can both be set to the same value, while the lower base register is set greater than th e lower limit register. otherwise, the upper 32-bit base must be greater than the upper 32-bit limit. 3.4 vga support the bridge provides two modes for vga support: 3.4.1 vga mode when a vga-compatible device exists downstream from the bridge, set the vga mode bit in the bridge control register in configuration space to enable vga mode. when the bridge is operating in vga mode, it forwards downstream those transactio ns addressing the vga frame buffer memory and vga i/o registers, regardless of the values of the base and limit address registers. the bridge ignores transactions initiated on the secondary interface addressing these locations. the vga frame buffer co nsists of the following memory address range: 000a 0000h?000b ffffh read transactions to frame buffer memory are treated as non-prefetchable. the bridge requests only a single data transfer from the target, and read by te enable bits are forwarded to the target bus. the vga i/o addresses are in the range of 3b0h?3bbh and 3c0h?3dfh i/o. these i/o addresses are aliases every 1kb thr oughout the first 64kb of i/o space. this means that address bits <15:10> are not decoded and can be any value, while address bits [31:16] must be all 0?s. vga bios addresses starting at c0000h are not decoded in vga mode. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 38 of 82 march 20, 2007 ? revision 1.01 3.4.2 vga snoop mode the bridge provides vga snoop mode, allowing for vga palette write transactions to be forwarded downstream. this mode is used when a graphics device downstream from the bridge needs to snoop or respond to vga palette write transactions. to enab le the mode, set the vga snoop bit in the command register in configuration space. note that the bridge claims vga palette write transactions by asserting devsel# in vga snoop mode. when vga snoop bit is set, the bridge forwards downstream transactions within the 3c6h, 3c8h and 3c9h i/o addresses space. note that these addr esses are also forwarded as part of the vga compatibility mode previously described. again, a ddress bits <15:10> are no t decoded, while address bits <31:16> must be equal to 0, which means that these addresses are aliases every 1kb throughout the first 64kb of i/o space. note: if both the vga mode bit and the vga snoop bit are set, the bridge behaves in the same way as if only the vga mode bit were set. 4 transaction ordering to maintain data coherency and consistency, the bridge complies with the ordering rules set forth in the pci local bus specification, revision 2.2, for trans actions crossing the bridge. this chapter describes the ordering rules that control trans action forwarding across the bridge. 4.1 transactions governed by ordering rules ordering relationships are established for the following classes of transactions crossing the bridge: posted write transactions, comprised of memory write and memory write and invalidate transactions. posted write transactions complete at the source before they complete at the destination; that is, data is written into intermediate data buffers before it reaches the target. delayed write request transactions, comprised of i/o write and configuration write transactions. delayed write requests are terminated by target retr y on the initiator bus and are queued in the delayed transaction queue. a delayed write transaction must complete on the target bus before it completes on the initiator bus. delayed write completion transactions, comprised of i/o write and configuration write transactions. delayed write completion transactions complete on the target bus, and the target response is queued in the buffers. a delayed write completion transaction pr oceeds in the direction opposite that of the original delayed write request; that is, a delayed wr ite completion transaction proceeds from the target bus to the initiator bus. delayed read request transactions, comprised of all memory read, i/o read, and configuration read transactions. delayed read requests are terminated by target retr y on the initiator bus and are queued in the delayed transaction queue. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 39 of 82 march 20, 2007 ? revision 1.01 delayed read completion transactions, comprise d of all memory read, i/o read, & configuration read transactions. delayed read completion transactions complete on the ta rget bus, and the read data is queued in the read data buffers. a delayed read completion transaction proceeds in the direction opposite that of the original delayed read request; that is, a delayed r ead completion transaction proceeds from the target bus to the initiator bus. the bridge does not combine or merge write transactions: 4.2 general ordering guidelines independent transactions on primary and secondary buses have a relationship only when those transactions cross the bridge. the following general ordering guidelines govern transactions crossing the bridge: 4.3 ordering rules table 4-1 shows the ordering relationships of all the transactions and refers by number to the ordering rules that follow. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 40 of 82 march 20, 2007 ? revision 1.01 table 4-1. summary of transaction ordering pass posted write delayed read request delayed write request delayed read completion delayed write completion posted write no 1 yes 5 yes 5 yes 5 yes 5 delayed read request no 2 yes yes yes yes delayed write request no 4 yes yes yes yes delayed read completion no 3 yes yes yes yes delayed write completion yes yes yes yes yes note: the superscript accompanying some of the table en tries refers to any applicable ordering rule listed in this section. many entries are not gov erned by these ordering rules; therefore, the implementation can choose whether or not the transactions pass each other. the entries without superscripts reflect the bridge?s implementation choices. the following ordering rules describe the transaction relationships. each ordering rule is followed by an explanation, and the ordering rules are referred to by number in table 4-1 . these ordering rules apply to posted write transactions, delayed write and read requests, and delayed write and read completion transactions crossing the bridge in the same direc tion. note that delayed completion transactions cross the bridge in the direction opposite that of the corresponding delayed requests. 1. posted write transactions must complete on the target bus in the order in which they were received on the initiator bus. the subsequent posted write transaction can be setting a flag that covers the data in the first posted write transaction; if the second trans action were to complete before the first transaction, a device checking the flag could subsequently consume stale data. 2. a delayed read request traveling in the same direction as a previous ly queued posted write transaction must push the posted write data ahead of it. the posted write transaction must complete on the target bus before the delayed read request can be attempted on the target bus. the read transaction can be to the same location as the write data, so if the read transaction were to pass the write transaction, it would return stale data. 3. a delayed read completion must ??pull?? ahead of previously queued posted write data traveling in the same direction. in this case, the read data is tr aveling in the same direction as the write data, and the initiator of the read transaction is on the same side of the bridge as the target of the write transaction. the posted write transaction must complete to the target before the read data is returned to the initiator. the read transaction can be a reading to a status re gister of the initiator of the posted write data and therefore should not complete until the write transaction is complete. 4. delayed write requests cannot pass previously queued posted write data. for posted memory write transactions, the delayed write tran saction can set a flag that covers the data in the posted write transaction. if the delayed write request were to co mplete before the earlier posted write transaction, a device checking the flag could subsequently consume stale data. 5. posted write transactions must be given opportunities to pass delayed read and write requests and completions. otherwise, deadlocks may occur when some bridges which support delayed transactions and other bridges which do not support delayed transactions are being used in the same system. a fairness algorithm is used to arbitrate between th e posted write queue and the delayed transaction queue. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 41 of 82 march 20, 2007 ? revision 1.01 4.4 data synchronization data synchronization refers to the relationship between interrupt signaling and data delivery. the pci local bus specification , revision 2.2, provides the following alternative methods for synchronizing data and interrupts: 5 error handling the bridge checks, forwards, and generates parity on both the primary and secondary interfaces. to maintain transparency, the bridge always tries to fo rward the existing parity condition on one bus to the other bus, along with address and data. the bridge always attempts to be transparent when reporting errors, but this is not always possible, given the presence of posted data and delayed transactions. to support error reporting on the pci bus, the bridge implements the following: 5.1 address parity errors the bridge checks address parity for all transactions on both buses, for all address and all bus commands. when the bridge detects an address par ity error on the primary interface, the following events occur: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 42 of 82 march 20, 2007 ? revision 1.01 when the bridge detects an address parity error on the secondary interface, the following events occur: 5.2 data parity errors when forwarding transactions, the bridge attempts to pass the data parity condition from one interface to the other unchanged, whenever possible, to allow the master and target devices to handle the error condition. the following sections describe, for each type of tran saction, the sequence of ev ents that occurs when a parity error is detected and the way in which th e parity condition is forwarded across the bridge. 5.2.1 configuration write trans actions to configuration space when the bridge detects a data parity error during a type 0 configuration write transaction to the bridge configuration space, the fo llowing events occur: if the parity error response bit is set in the comma nd register, the bridge asserts p_trdy# and writes the data to the configuration register. the bridge al so asserts p_perr#. if the parity error response bit is not set, the bridge does not assert p_perr#. the bridge sets the detected parity error bit in the st atus register, regardless of the state of the parity error response bit. 5.2.2 read transactions when the bridge detects a parity error during a read transaction, the target drives data and data parity, and the initiator checks parity and conditionally asserts perr#. for downstream transactions, when the bridge detects a read data parity error on the secondary bus, the following events occur: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 43 of 82 march 20, 2007 ? revision 1.01 5.2.3 delayed write transactions when the bridge detects a data parity error during a delayed write transaction, the initiator drives data and data parity, and the target checks parity and conditionally asserts perr#. for delayed write transactions, a parity error can occur at the following times: note: if parity checking is turned off and data parity errors have occurred for queued or subsequent delayed write transactions on the initiator bus, it is possible that the initiator?s re-attempts of the write transaction may not match the original queued delayed write information contained in the delayed transaction queue. in this case, a master timeout condition may occur, possibly resulting in a system error (p_serr# assertion). 07-0067
pi7c8140a 2-port pci-to-pci bridge page 44 of 82 march 20, 2007 ? revision 1.01 for downstream transactions, when th e bridge is delivering data to the target on the secondary bus and s_perr# is asserted by the target, the following events occur: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 45 of 82 march 20, 2007 ? revision 1.01 for upstream transactions, when the parity error is being passed back from the target bus and the parity error condition was not originally detected on the initiator bus, the following events occur: 5.2.4 posted write transactions during downstream posted write transactions, when th e bridge responds as a target, it detects a data parity error on the initiator (primary) bus and the following events occur: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 46 of 82 march 20, 2007 ? revision 1.01 5.3 data parity error reporting summary in the previous sections, the responses of the bridge to data parity errors are presented according to the type of transaction in progress. this section organizes the responses of the bridge to data parity errors according to the status bits that the bridge sets and the signals that it asserts. table 5-1 shows setting the detected parity error bit in the status register, corresponding to th e primary interface. this bit is set when the bridge detects a parity error on the primary interface. table 5-1. setting the primary in terface detected parity error bit primary detected parity error bit transaction type direction bus where error was detected primary/ secondary parity error response bits 0 read downstream primary x / x 0 read downstream secondary x / x 1 read upstream primary x / x 0 read upstream secondary x / x 1 posted write downstream primary x / x 0 posted write downstream secondary x / x 0 posted write upstream primary x / x 0 posted write upstream secondary x / x 1 delayed write downstream primary x / x 0 delayed write downstream secondary x / x 0 delayed write upstream primary x / x 0 delayed write upstream secondary x / x x = don?t care table 5-2 shows setting the detected parity error bit in the secondary status register, corresponding to the secondary interface. this bit is set when the bridge detects a parity error on the se condary interface. table 5-2. setting secondary inte rface detected parity error bit secondary detected parity error bit transaction type direction bus where error was detected primary/ secondary parity error response bits 0 read downstream primary x / x 1 read downstream secondary x / x 0 read upstream primary x / x 0 read upstream secondary x / x 0 posted write downstream primary x / x 0 posted write downstream secondary x / x 0 posted write upstream primary x / x 1 posted write upstream secondary x / x 0 delayed write downstream primary x / x 07-0067
pi7c8140a 2-port pci-to-pci bridge page 47 of 82 march 20, 2007 ? revision 1.01 secondary detected parity error bit transaction type direction bus where error was detected primary/ secondary parity error response bits 0 delayed write downstream secondary x / x 0 delayed write upstream primary x / x 1 delayed write upstream secondary x / x x = don?t care table 5-3 shows setting data parity detected bit in the primary interface?s status register. this bit is set under the following conditions: table 5-3. setting primary interface master data parity error detected bit primary data parity bit transaction type direction bus where error was detected primary / secondary parity error response bits 0 read downstream primary x / x 0 read downstream secondary x / x 1 read upstream primary 1 / x 0 read upstream secondary x / x 0 posted write downstream primary x / x 0 posted write downstream secondary x / x 1 posted write upstream primary 1 / x 0 posted write upstream secondary x / x 0 delayed write downstream primary x / x 0 delayed write downstream secondary x / x 1 delayed write upstream primary 1 / x 0 delayed write upstream secondary x / x x = don?t care table 5-4 shows setting the data parity detected bit in the status register of secondary interface. this bit is set under the following conditions: table 5-4. setting secondary interface master data parity error detected bit secondary detected parity detected bit transaction type direction bus where error was detected primary / secondary parity error response bits 0 read downstream primary x / x 1 read downstream secondary x / 1 0 read upstream primary x / x 0 read upstream secondary x / x 0 posted write downstream primary x / x 1 posted write downstream secondary x / 1 0 posted write upstream primary x / x 0 posted write upstream secondary x / x 0 delayed write downstream primary x / x 1 delayed write downstream secondary x / 1 0 delayed write upstream primary x / x 0 delayed write upstream secondary x / x x= don?t care 07-0067
pi7c8140a 2-port pci-to-pci bridge page 48 of 82 march 20, 2007 ? revision 1.01 table 5-5 shows assertion of p_perr#. this signal is set under the following conditions: table 5-5. assertion of p_perr# p_perr# transaction type direction bus where error was detected primary/ secondary parity error response bits 1 (de-asserted) read downstream primary x / x 1 read downstream secondary x / x 0 (asserted) read upstream primary 1 / x 1 read upstream secondary x / x 0 posted write downstream primary 1 / x 1 posted write downstream secondary x / x 1 posted write upstream primary x / x 1 posted write upstream secondary x / x 0 delayed write downstream primary 1 / x 0 2 delayed write downstream secondary 1 / 1 1 delayed write upstream primary x / x 1 delayed write upstream secondary x / x x = don?t care 2 the parity error was detected on the target (seco ndary) bus but not on the initiator (primary) bus. table 5-6 shows assertion of s_perr# that is set under the following conditions: table 5-6. assertion of s_perr# s_perr# transaction type direction bus where error was detected primary/ secondary parity error response bits 1 (de-asserted) read downstream primary x / x 0 (asserted) read downstream secondary x / 1 1 read upstream primary x / x 1 read upstream secondary x / x 1 posted write downstream primary x / x 1 posted write downstream secondary x / x 1 posted write upstream primary x / x 0 posted write upstream secondary x / 1 1 delayed write downstream primary x / x 1 delayed write downstream secondary x / x 0 2 delayed write upstream primary 1 / 1 0 delayed write upstream secondary x / 1 x = don?t care 2 the parity error was detected on the target (seco ndary) bus but not on the initiator (primary) bus. table 5-7 shows assertion of p_serr#. this signal is set under the following conditions: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 49 of 82 march 20, 2007 ? revision 1.01 table 5-7. assertion of p_se rr# for data parity errors p_serr# transaction type direction bus where error was detected primary / secondary parity error response bits 1 (de-asserted) read downstream primary x / x 1 read downstream secondary x / x 1 read upstream primary x / x 1 read upstream secondary x / x 1 posted write downstream primary x / x 0 2 (asserted) posted write downstream secondary 1 / 1 0 3 posted write upstream primary 1 / 1 1 posted write upstream secondary x / x 1 delayed write downstream primary x / x 1 delayed write downstream secondary x / x 1 delayed write upstream primary x / x 1 delayed write upstream secondary x / x x = don?t care 2 the parity error was detected on the target (seco ndary) bus but not on the initiator (primary) bus. 3 the parity error was detected on the target (pri mary) bus but not on the initiator (secondary) bus. 5.4 system error (serr#) reporting the bridge uses the p_serr# signal to report conditionally a number of system error conditions in addition to the special case parity error conditions described in section 5.2.3 . whenever assertion of p_serr# is discussed in this document, it is assumed that the following conditions apply: pci-to-pci bridge architecture specification , the bridge asserts p_serr# when it detects the secondary serr# input, s_serr#, asserted and the serr# forward enable bit is set in the bridge control register. in addition, the bridge also sets the received system error bit in the secondary status register. the bridge also conditionally asserts p_serr# for any of the following reasons: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 50 of 82 march 20, 2007 ? revision 1.01 6 pci bus arbitration the bridge must arbitrate for use of the primary bus when forwarding upstream transactions. also, it must arbitrate for use of the seco ndary bus when forwarding downstr eam transactions. the arbiter for the primary bus resides external to the bridge, typically on the motherboard. for the secondary pci bus, the bridge implements an internal arbiter. this arb iter can be disabled, and an external arbiter can be used instead. this chapter describes primary and secondary bus arbitration. 6.1 primary pci bus arbitration the bridge implements a request output pin, p_req#, and a grant input pin, p_gnt#, for primary pci bus arbitration. the bridge asserts p_req# when fo rwarding transactions upstream; that is, it acts as initiator on the primary pci bus. as long as at least one pending transaction resides in the queues in the upstream direction, either posted write data or delayed transaction requests, the bridge keeps p_req# asserted. however, if a target retry, target disconn ect, or a target abort is received in response to a transaction initiated by the bridge on the primary pci bus, the bridge de-asserts p_req# for two pci clock cycles. for all cycles through the bridge, p_req# is not asserted until the transaction request has been completely queued. when p_gnt# is asserted low by the primary bus arbiter after the bridge has asserted p_req#, the bridge initiates a transaction on the primary bus during the next pci clock cycle. when p_gnt# is asserted to the bridge when p_re q# is not asserted, the bridge parks p_ad, p_cbe, and p_par by driving them to valid logic levels. when the primary bus is parked at the bridge and the bridge has a transaction to initiate on the primary bus , the bridge starts the transaction if p_gnt# was asserted during the previous cycle. 6.2 secondary pci bus arbitration the bridge implements an internal secondary pci bus arbiter. this arbiter supports four external masters on the secondary bus in addition to th e pi7c8140a. the secondary arbiter supports a programmable 2-level rotating algorithm. if the bridge detects that an initiator has failed to assert s_frame# after 16 cycles of both grant assertion and a secondary idle bus condition, the arbiter de- asserts the grant. to prevent bus contention, if the secondary pci bus is idle, the arbiter never asserts one grant signal in the same pci cycle in which it de-asserts another. it de-asserts one grant and asserts the next grant, no earlier than one pci clock cycle later. if the secondary pci bus is busy, that is, s_frame# or 07-0067
pi7c8140a 2-port pci-to-pci bridge page 51 of 82 march 20, 2007 ? revision 1.01 s_irdy# is asserted, the arbiter can be de-asserted one grant and asserted another grant during the same pci clock cycle. 6.2.1 preemption preemption can be programmed to be either on or off, with the default to on (offset 4ch, bit [31:28]). time-to-preempt can be programmed to 0, 1, 2, 4, 8, 16, 32, or 64 (default is 0) clocks. if the current master occupies the bus and other masters are waiting, the current master will be preempted by removing its grant (gnt#) after the next master waits for the time-to-preempt. 6.2.2 bus parking bus parking refers to driving the ad[31:0], cbe[3:0], and par lines to a known value while the bus is idle. in general, the device implementing the bus arbiter is responsible for parking the bus or assigning another device to park the bus. a device parks the bus when the bus is idle, its bus grant is asserted, and the device?s request is not asserted. the ad and cbe signals should be driven first, with the par signal driven one cycle later. the bridge parks the primary bus only when p_gnt# is asserted, p_req# is de-asserted, and the primary pci bus is idle. when p_gnt# is de-asse rted, the bridge 3-states the p_ad, p_cbe, and p_par signals on the next pci clock cycle. if the bridge is parking the primary pci bus and wants to initiate a transaction on that bus, then the bridge can start the transaction on the next pci clock cycle by asserting p_frame# if p_gnt# is still asserted. if the internal secondary bus arbiter is enabled, the secondary bus is always parked at the last master that used the pci bus. that is, the bridge keeps the secondary bus grant asserted to a particular master until a new secondary bus request comes along. after re set, the bridge parks the secondary bus at itself until transactions start occurring on the secondary bus. offset 48h, bit [1], can be set to 1 to park the secondary bus at pi7c8140a. by default, offset 48h, bit [1], is set to 0. 7 clocks this chapter provides information about the clocks. 7.1 primary clock inputs the bridge implements a primary clock input for the pci interface. th e primary interface is synchronized to the primary clock input, p_clk, and the secondary interface is synchronized to the secondary clock. in synchronous mode, the secondary clock is derived internally from the primary clock, p_clk. the bridge operates at a maximum frequency of 66 mhz. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 52 of 82 march 20, 2007 ? revision 1.01 7.2 secondary clock outputs the bridge has 4 secondary clock outputs, s_clkout[3:0] that can be used as clock inputs for up to four external secondary bus devices. the s_cl kout[3:0] outputs are derived from p_clk. the secondary clock edges are delayed from p_clk edges by a minimum of 0ns. 7.3 pci clockrun the bridge supports the pci clock run protocol defined in the pci mobile design guide 1.0 . p_clkrun# is set high when the system's centr al resource initiates to stop the primary clock (p_clk). the bridge will then signal that it allows the pci clock to be stopped by keeping p_clkrun# high, or it will initiate p_clk to re main running by driving p_clkrun# low for 2 clocks. after the 2 clocks have elapsed, the sy stem?s central resource will keep p_clkrun# low. there are 3 conditions where the bridge will keep the primary clock running: 8 compact pci hot swap compact pci (cpci) hot swap (picmg 2.1, r1.0) defines a process for installing and removing pci boards form a compact pci system without powering down the system. the pi7c8140a is hot swap friendly silicon that supports all the cpci hot swap capable features and adds support for software connection control. being hot swap frie ndly, the bridge supports the following: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 53 of 82 march 20, 2007 ? revision 1.01 9 pci power management the bridge incorporates functionality that meets the requirements of the pci power management specificatio n, revision 1.1 . these features include: table 9-1. power management transitions current status next state action d0 d3cold power has been removed from bridge. a power-up reset must be performed to bring bridge to d0. d0 d3hot if enabled to do so by the bpcce pi n, bridge will disable the secondary clocks and drive them low. d0 d2 unimplemented power state. bridge will ignore the write to the power state bits (power state remains at d0). d0 d1 unimplemented power state. bridge will ignore the write to the power state bits (power state remains at d0). d3hot d0 bridge enables seconda ry clock outputs and performs an internal chip reset. signal s_rst# will not be asserted. all registers will be returned to the reset values and buffers will be cleared. d3hot d3cold power has been removed from bri dge. a power-up reset must be performed to bring bridge to d0. d3cold d0 power-up reset. bridge performs the standard power-up reset functions as described in section 10 . pme# signals are routed fr om downstream devices around pci-to-pci bridges. pme# signals do not pass through pci-to-pci bridges. 10 reset this chapter describes the primary interface, s econdary interface, and chip reset mechanisms. 10.1 primary interface reset the bridge has a reset input, p_rst#. when p_rs t# is asserted, the fo llowing events occur: 07-0067
pi7c8140a 2-port pci-to-pci bridge page 54 of 82 march 20, 2007 ? revision 1.01 10.2 secondary interface reset the bridge is responsible for driving the secondary bus reset signals, s_rst#. the bridge asserts s_rst# when any of the following conditions are met: signal p_rst# is asserted. signal s_rst# remains asserted as long as p_rst# is asserted and does not de-assert until p_rst# is de-asserted. the secondary reset bit in the bridge control register is set. signal s_rst# remains asserted until a configuration write operation clears the secondary reset bit. s_rst# pin is asserted. when s_rst# is asserted, the bridge immediately 3-states all the secondary pci interface signals associated w ith the secondary port. the s_rs t# in asserting and de-asserting edges can be asynchronous to p_clk. when s_rst# is asserted, all secondary pci interf ace control signals, including the secondary grant outputs, are immediately 3-stated. signals s1_ad, s1_cbe#[3:0], s_par are driven low for the duration of s_rst# assertion. all posted write and delayed transaction data buffers are reset. therefore, any transactions residing inside the buffers at the time of secondary reset are discarded. when s_rst# is asserted by mean s of the secondary reset bit, th e bridge remains accessible during secondary interface reset and continues to respond to accesses to its configuration space from the primary interface. 10.3 chip reset the chip reset bit in the diagnostic control register can be used to reset the bridge and the secondary bus. when the chip reset bit is set, all registers and chip state are reset and all signals are tristated. s_rst# is asserted and the secondary reset bit is automatically set. s_rst# remains asserted until a configuration write operation clears the secondary reset bit and the serial clock mask has been shifted in. within 20 pci clock cycles after completion of the configuration write operation, the bridge?s reset bit automatically clears and the bridge is ready for configuration. during reset, the bridge is inaccessible. 11 supported commands the pci command set is given below fo r the primary and secondary interfaces. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 55 of 82 march 20, 2007 ? revision 1.01 11.1 primary interface p_cbe [3:0] command action 0000 interrupt acknowledge ignore 0001 special cycle do not claim. ignore. 0010 i/o read 1. if address is within pass through i/o range, claim and pass through. 2. otherwise, do not pass through an d do not claim for internal access. 0011 i/o write same as i/o read. 0100 reserved ----- 0101 reserved ----- 0110 memory read 1. if address is within pass through memory range, claim and pass through. 2. if address is within pass throug h memory mapped i/o range, claim and pass through. 3. otherwise, do not pass through an d do not claim for internal access. 0111 memory write same as memory read. 1000 reserved ----- 1001 reserved ----- 1010 configuration read type 0 configuration read: if the bridge?s idsel line is assert ed, perform function decode and claim if target function is implemented. ot herwise, ignore. if claimed, permit access to target function?s configura tion registers. do not pass through under any circumstances. type 1 configuration read: 1. if the target bus is the bridge ?s secondary bus: claim and pass through as a type 0 configuration read. 2. if the target bus is a subordinate bus that exists behind the bridge (but not equal to the secondary bus): claim and pass through as a type 1 configuration read. 3. otherwise, ignore. 1011 configuration write type 0 configuration write: same as configuration read. type 1 configuration write (not special cycle request): 1. if the target bus is the bridge ?s secondary bus: claim and pass through as a type 0 configuration write 2. if the target bus is a subordinate bus that exists behind the bridge (but not equal to the secondary bus): claim and pass through unchanged as a type 1 configuration write. 3. otherwise, ignore. configuration write as special cycle request (device = 1fh, function = 7h) 1. if the target bus is the bridges secondary bus: claim and pass through as a special cycle. 2. if the target bus is a subordinate bus that exists behind the bridge (but not equal to the secondary bus): claim and pass through unchanged as a type 1 configuration write. 3. otherwise ignore 1100 memory read multiple same as memory read 1101 dual address cycle supported 07-0067
pi7c8140a 2-port pci-to-pci bridge page 56 of 82 march 20, 2007 ? revision 1.01 p_cbe [3:0] command action 1110 memory read line same as memory read 1111 memory write and invalidate same as memory read 11.2 secondary interface s_cbe[3:0] command action 0000 interrupt acknowledge ignore 0001 special cycle do not claim. ignore. 0010 i/o read same as primary interface 0011 i/o write same as i/o read. 0100 reserved ----- 0101 reserved ----- 0110 memory read same as primary interface 0111 memory write same as memory read. 1000 reserved ----- 1001 reserved ----- 1010 configuration read ignore 1011 configuration write i. type 0 configuration write: ignore ii. type 1 configuration write (not special cycle request):ignore iii. configuration write as special cycle request (device = 1fh, function = 7h): 1. if the target bus is the bridge?s primary bus: claim and pass through as a special cycle 2. if the target bus is neither the primary bus nor is it in range of buses defined by the bridge?s secondary an d subordinate bus registers: claim and pass through unchanged as a type 1 configuration write. 3. if the target bus is not the bridge?s primary bus, but is in range of buses defined by the bridge?s secondary an d subordinate bus registers: ignore. 1100 memory read multiple same as memory read 1101 dual address cycle supported 1110 memory read line same as memory read 1111 memory write and invalidate same as memory read 12 bridge behavior a pci cycle is initiated by asserting the frame# signal. in a bridge, there are a number of possibilities. those possibilities are summarized in the table below: 12.1 bridge actions fo r various cycle types initiator target response master on primary target on primary bridge does not respond. it detects this situation by decoding the address as well as monitoring the p_devsel# for other fast and medium devices on the primary port. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 57 of 82 march 20, 2007 ? revision 1.01 initiator target response master on primary target on secondary bridge asserts p_devsel#, terminates the cycle normally if it is able to be posted, otherwise return with a retry. it then passes the cycle to the appropriate port. when the cycle is complete on the target port, it will wait for the initiator to repeat the same cycle and end with normal termination. master on primary target not on primary nor secondary port bridge does not respond and the cycle will terminate as master abort. master on secondary target on the same secondary port bridge does not respond. master on secondary target on primary or the other secondary port bridge asserts s_devsel#, terminates the cycle normally if it is able to be posted, otherwise returns with a retry. it then passes the cycle to the appropriate port. when cycle is complete on the target port, it will wait for the initiator to repeat the same cycle and end with normal termination. master on secondary target not on primary nor the other secondary port bridge does not respond. 12.2 abnormal termination (initiated by bridge master) 12.2.1 master abort master abort indicates that when the bridge acts as a master and receives no re sponse (i.e., no target asserts devsel# or s_devsel#) from a target, the bridge de-asserts frame# and then deasserts irdy#. 12.2.2 parity and error reporting parity must be checked for all addresses and write data. parity is defined on the p_par, and s_par signals. parity should be even (i.e. an even number of?1?s) across ad, cbe, and par. parity information on par is valid the cycle after ad and cbe are valid. for reads, even parity must be generated using the initiators cbe signals combined with the read data. again, the par signal corresponds to read data from the previous data phase cycle. 12.2.3 reporting parity errors for all address phases, if a parity error is detected, the error should be reported on the p_serr# signal by asserting p_serr# for one cycle and then 3-stating two cycles after the bad address. p_serr# can only be asserted if bit 6 and 8 in the command register are both set to 1. for wr ite data phases, a parity error should be reported by asse rting the p_perr_l signal two cycles after the data phase and should remain asserted for one cycle when bit 6 in the comma nd register is set to a 1. the target reports any type of data parity errors during write cycles, while the master reports data parity errors during read cycles. detection of an address parity error will cause the pci-to-pci bridge target to not claim the bus (p_devsel# remains inactive) and the cycle will then terminate with a master abort. when the bridge 07-0067
pi7c8140a 2-port pci-to-pci bridge page 58 of 82 march 20, 2007 ? revision 1.01 is acting as master, a data parity error during a read cycle results in the bridge master initiating a master abort. 12.2.4 secondary idsel mapping when the bridge detects a type 1 configuration tran saction for a device connected to the secondary, it translates the type 1 transaction to type 0 tr ansaction on the downstream interface. type 1 configuration format uses a 5-bit field at p_ad[15:11] as a device number. this is translated to s_ad[31:16] by the bridge. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 59 of 82 march 20, 2007 ? revision 1.01 13 configuration registers pci configuration defines a 64-byte dword to define various attributes of pi7c8140a as shown below. 13.1 register types register type definition ro read only rw read / write rwc read / write 1 to clear rwr read / write 1 to reset (for about 20 clocks) rws read / write 1 to set 13.2 configuration register 31 ? 24 23 ? 16 15 ? 8 7 ? 0 dword address device id vendor id 00h primary status command 04h class code revision id 08h reserved header type primary latency timer cache line size 0ch reserved 10h ? 14h secondary latency timer subordinate bus number secondary bus number primary bus number 18h secondary status i/o limit a ddress i/o base address 1ch memory limit address memory base address 20h prefetchable memory limit address prefetchable memory base address 24h prefetchable memory base address upper 32-bit 28h prefetchable memory limit address upper 32-bit 2ch i/o limit address upper 16-bit i/ o base address upper 16-bit 30h reserved capability pointer 34h reserved 38h bridge control interrupt pin interrupt line 3ch subsystem id subsystem vendor id 40h arbiter control diagnostic / chip control 44h reserved extended chip control 48h secondary bus arbiter preemption control reserved 4ch reserved 50h ? 60h reserved p_serr# event disable 64h reserved p_serr# status secondary clock control 68h clkrun reserved 6ch reserved 70h reserved port option 74h reserved 78h ? 7ch power management capabilities next item pointer capability id 80h reserved power management data 84h secondary master timeout counter primary master timeout counter 88h reserved 8ch reserved hscsr next item pointer capability id 90h reserved hot swap switch 94h reserved 98h ? bfh 07-0067
pi7c8140a 2-port pci-to-pci bridge page 60 of 82 march 20, 2007 ? revision 1.01 31 ? 24 23 ? 16 15 ? 8 7 ? 0 dword address reserved miscellaneous control reserved c0h reserved c4h - ffh 13.2.1 vendor id register ? offset 00h bit function type description 15:0 vendor id ro identifies pericom as the ve ndor of this device. hardwired as 12d8h. 13.2.2 device id register ? offset 00h bit function type description 31:16 device id ro identifies this devi ce as the pi7c8140a. reset to 8140h. 13.2.3 command register ? offset 04h bit function type description 0 i/o space enable rw 0: ignore i/o transactions on the primary interface 1: enable response to i/o tran sactions on the primary interface reset to 0 1 memory space enable rw 0: ignore memory transactions on the primary interface 1: enable response to memory tr ansactions on the primary interface reset to 0 2 bus master enable rw 0: do not initiate memory or i/o transactions on the primary interface and disable response to memory and i/o transactions on the secondary interface 1: enables bridge to operate as a master on the primary interfaces for memory and i/o transactions forwarded from the secondary interface reset to 0 3 special cycle enable ro no special cycles defined. bit is defined as read only and returns 0 when read 4 memory write and invalidate enable ro bridge does not generate memory write and invalidate transactions except for forwarding a transaction for another master. bit is implemented as read only and returns 0 when read (unless forwarding a transaction for another master) 5 vga palette snoop enable rw 0: ignore vga palette accesses on the primary 1: enable positive decoding response to vga palette writes on the primary interface with i/o address bits ad[9:0] e qual to 3c6h, 3c8h, and 3c9h (inclusive of isa alias; ad[15:10] are not decoded and may be any value) reset to 0 6 parity error response rw 0: bridge may ignore any parity errors that it detects and continue normal operation 1: bridge must take its normal acti on when a parity error is detected reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 61 of 82 march 20, 2007 ? revision 1.01 bit function type description 7 wait cycle control ro read as 0 to indicate pi7c8140a does not perform address / data stepping. reset to 0 8 p_serr# enable rw 0: disable the p_serr# driver 1: enable the p_serr# driver reset to 0 9 fast back-to- back enable rw 0: disable bridge?s ability to initiate fast back-to-back transactions on the primary 1: enable bridge?s ability to initiate fast back-to-back transactions on the primary reset to 0 15:10 reserved ro returns 000000 when read 13.2.4 primary status register ? offset 04h bit function type description 19:16 reserved ro reset to 0000 20 capabilities list ro set to 1 to enable support for the capability list (offset 34h is the pointer to the data structure) reset to 1 21 66mhz capable ro set to 1 to indicate the primar y may be run at 66mhz operation reset to 1 22 reserved ro reset to 0 23 fast back-to- back capable ro set to 1 to enable decoding of fast back-to-back transactions on the primary interface to different targets reset to 1 24 data parity error detected rwc 0: no parity error detected on the pr imary (bridge is the primary bus master) 1: parity error detected on the primar y (bridge is the primary bus master) reset to 0 26:25 devsel# timing ro devsel# timing (medium decoding) 01: medium devsel# decoding reset to 01 27 signaled target abort rwc set to 1 (by a target device) wh enever a target abort cycle occurs reset to 0 28 received target abort rwc set to 1 (by a master device) whenever transactions are terminated with target aborts reset to 0 29 received master abort rwc set to 1 (by a master) when transac tions are terminated with master abort reset to 0 30 signaled system error rwc set to 1 when p_serr# is asserted reset to 0 31 detected parity error rwc set to 1 when address or data parity error is detected on the primary interface reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 62 of 82 march 20, 2007 ? revision 1.01 13.2.5 revision id register ? offset 08h bit function type description 7:0 revision ro indicates revision nu mber of device. hardwired to 00h 13.2.6 class code register ? offset 08h bit function type description 15:8 programming interface ro read as 00h to indicate no programming interfaces have been defined for pci-to- pci bridges 23:16 sub-class code ro read as 04h to indicate device is pci-to-pci bridge 31:24 base class code ro read as 06h to indicate device is a bridge device 13.2.7 cache line register ? offset 0ch bit function type description 7:0 cache line size rw designates the cache line size for the system and is used when terminating memory write and invalidate transactions and when prefetching memory read transactions. only cache line sizes (in units of 4-byte) which are a power of two are valid (only one bit can be set in this register; only 00h, 01h, 02h, 04h, 08h, and 10h are valid values). reset to 0 13.2.8 primary latency timer register ? offset 0ch bit function type description 15:8 primary latency timer rw this register sets the value for the ma ster latency timer, which starts counting when the master asserts frame#. reset to 0 13.2.9 header type register ? offset 0ch bit function type description 23:16 header type ro read as 01h to indicate that th e register layout conforms to the standard pci-to- pci bridge layout. 13.2.10 primary bus number register ? offset 18h bit function type description 7:0 primary bus number rw indicates the number of the pci bus to which the primary interface is connected. the value is set in software during configuration. reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 63 of 82 march 20, 2007 ? revision 1.01 13.2.11 secondary bus number re gister ? offset 18h bit function type description 15:8 secondary bus number rw indicates the number of the pci bus to which the secondary interface is connected. the value is set in software during configuration. reset to 0 13.2.12 subordinate bus number register ? offset 18h bit function type description 23:16 subordinate bus number rw indicates the number of the pci bus with the highest number that is subordinate to the bridge. the value is set in software during configuration. reset to 0 13.2.13 secondary latency timer register ? offset 18h bit function type description 31:24 secondary latency timer rw latency timer for secondary. indicates the number of pci clocks from the assertion of s_frame# to the expiration of the timer when the bridge is acting as a master on the secondary. 0: bridge ends the transaction after the first data transfer when the bridge?s secondary bus grant has been deasserted, with the exception of memory write and invalidate transactions. reset to 0 13.2.14 i/o base address re gister ? offset 1ch bit function type description 3:0 32-bit indicator ro read as 01h to indicate 32-bit i/o addressing 7:4 i/o base address [15:12] rw defines the bottom address of the i/o a ddress range for the bridge to determine when to forward i/o transactions from one interface to the other. the upper 4 bits correspond to address bits [15:12] and are writable. the lower 12 bits corresponding to address bits [11:0] are assumed to be 0. the upper 16 bits corresponding to address bits [31:16] are de fined in the i/o base address upper 16 bits address register reset to 0 13.2.15 i/o limit address register ? offset 1ch bit function type description 11:8 32-bit indicator ro read as 01h to indicate 32-bit i/o addressing 07-0067
pi7c8140a 2-port pci-to-pci bridge page 64 of 82 march 20, 2007 ? revision 1.01 bit function type description 15:12 i/o limit address [15:12] rw defines the top address of the i/o addre ss range for the bridge to determine when to forward i/o transactions from one in terface to the other. the upper 4 bits correspond to address bits [15:12] and are writable. the lower 12 bits corresponding to address bits [11:0] are assumed to be fffh. the upper 16 bits corresponding to address bits [31:16] are defined in the i/o limit address upper 16 bits address register reset to 0 13.2.16 secondary status re gister ? offset 1ch bit function type description 20:16 reserved ro reset to 0 21 66mhz capable ro set to 1 to indicate bridge is capab le of 66mhz operation on the secondary interface reset to 1 22 reserved ro reset to 0 23 fast back-to- back capable ro set to 1 to indicate bridge is capable of decoding fast back-t o-back transactions on the secondary interface to different targets reset to 1 24 data parity error detected rwc set to 1 when s_perr# is asserted and bit 6 of command register is set reset to 0 26:25 devsel_l timing ro devsel# timing (medium decoding) 01: medium devsel# decoding reset to 01 27 signaled target abort rwc set to 1 (by a target device) whenever a target abort cycle occurs on its secondary interface reset to 0 28 received target abort rwc set to 1 (by a master device) whenever transactions on its secondary interface are terminated with target abort reset to 0 29 received master abort rwc set to 1 (by a master) when transactions on its secondary interface are terminated with master abort reset to 0 30 received system error rwc set to 1 when s_serr# is asserted reset to 0 31 detected parity error rwc set to 1 when address or data parity e rror is detected on the secondary interface reset to 0 13.2.17 memory base address register ? offset 20h bit function type description 3:0 reserved ro reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 65 of 82 march 20, 2007 ? revision 1.01 bit function type description 15:4 memory base address [15:4] rw defines the bottom address of an addre ss range for the bridge to determine when to forward memory transactions from one interface to the other. the upper 12 bits correspond to address bits [31:20] and are writable. the lower 20 bits corresponding to address bits [19:0] are assumed to be 0. reset to 0 13.2.18 memory limit address register ? offset 20h bit function type description 19:16 reserved ro reset to 0 31:20 memory limit address [31:20] rw defines the top address of an address ra nge for the bridge to determine when to forward memory transactions from one in terface to the other. the upper 12 bits correspond to address bits [31:20] and are writable. the lower 20 bits corresponding to address bits [19:0] are assumed to be fffffh. 13.2.19 prefetchable memory base address register ? offset 24h bit function type description 3:0 64-bit addressing ro indicates 64-bit addressing 0001: 64-bit addressing reset to 1 15:4 prefetchable memory base address [31:20] rw defines the bottom address of an addre ss range for the bridge to determine when to forward memory read and write transac tions from one interface to the other. the upper 12 bits correspond to address bits [31:20] and are writable. the lower 20 bits are assumed to be 0. the memory base register upper 32 bits contains the upper half of the base address. 13.2.20 prefetchable memory limit address register ? offset 24h bit function type description 19:16 64-bit addressing ro indicates 64-bit addressing 0001: 64-bit addressing reset to 1 31:20 prefetchable memory limit address [31:20] rw defines the top address of an address ra nge for the bridge to determine when to forward memory read and write transactions from one interface to the other. the upper 12 bits correspond to address bits [31:20] and are writable. the lower 20 bits are assumed to be fffffh. the memory limit upper 32 bits register contains the upper half of the limit address. 13.2.21 prefetchable memory base a ddress upper 32-bits register ? offset 28h bit function type description 31:0 prefetchable memory base address, upper 32-bits [63:32] rw defines the upper 32-bits of a 64-bit bottom address of an address range for the bridge to determine when to forward memory read and write transactions from one interface to the other. reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 66 of 82 march 20, 2007 ? revision 1.01 13.2.22 prefetchable memory limit ad dress upper 32-bits register ? offset 2ch bit function type description 31:0 prefetchable memory limit address, upper 32-bits [63:32] rw defines the upper 32-bits of a 64-bit t op address of an address range for the bridge to determine when to forward memory read and write transactions from one interface to the other. reset to 0 13.2.23 i/o base address upper 16- bits register ? offset 30h bit function type description 15:0 i/o base address, upper 16-bits [31:16] rw defines the upper 16-bits of a 32-bit bottom address of an address range for the bridge to determine when to forward i/ o transactions from one interface to the other. reset to 0 13.2.24 i/o limit address upper 16 -bits register ? offset 30h bit function type description 31:16 i/o limit address, upper 16-bits [31:16] rw defines the upper 16-bits of a 32-bit t op address of an address range for the bridge to determine when to forward i/ o transactions from one interface to the other. reset to 0 13.2.25 capability pointer register ? offset 34h bit function type description 7:0 capability pointer ro pointer points to the pci pow er management registers (80h). reset to 80h 13.2.26 interrupt line register ? offset 3ch bit function type description 7:0 interrupt line rw bridge does not implement an interrupt signal, so post programs ffh to this register. 13.2.27 interrupt pin register ? offset 3ch bit function type description 15:8 interrupt pin ro bridge does not implement interrupt signal pins. reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 67 of 82 march 20, 2007 ? revision 1.01 13.2.28 bridge control re gister ? offset 3ch bit function type description 16 parity error response rw 0: ignore address and data par ity errors on the secondary interface 1: enable parity error reporting a nd detection on the secondary interface reset to 0 17 s_serr# enable rw 0: disable the forwarding of s_serr# to primary interface 1: enable the forwarding of s_serr# to primary interface reset to 0 18 isa enable rw modifies the bridge?s respons e to isa i/o addresses, applying only to those addresses falling within the i/o base and limit address registers and within the first 64kb of pci i/o space. 0: forward all i/o addresses in the range defined by the i/o base and i/o limit registers 1: blocks forwarding of isa i/o addresse s in the range defined by the i/o base and i/o limit registers that are in the first 64kb of i/o space that address the last 768 bytes in each 1kb block. secondary i/ o transactions are forwarded upstream if the address falls within the last 768 bytes in each 1kb block reset to 0 19 vga enable rw 0: does not forward vga compatible memory and i/o addresses from primary to secondary 1: forward vga compatible memory and i/o addresses from primary to secondary regardless of other settings reset to 0 20 reserved r/o reserved. retu rns 0 when read. reset to 0 21 master abort mode rw 0: does not report master aborts (ret urns ffff_ffffh on reads and discards data on writes) 1: reports master aborts by signaling target abort if possible or by the assertion of p_serr# if enabled reset to 0 22 secondary interface reset rw 0: does not force the assertion of s_reset# pin 1: forces the assertion of s_reset# reset to 0 23 fast back-to- back enable rw controls bridge?s ability to generate fa st back-to-back trans actions to different devices on the secondary interface. 0: does not generate fast back-to- back transactions on the secondary 1: enables fast back-to-back transaction generation on the secondary reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 68 of 82 march 20, 2007 ? revision 1.01 bit function type description 24 primary master timeout r/w determines the maximum number of pci clock cycles the bridge waits for an initiator on the primary interface to re peat a delayed transaction request. 0: primary discard timer counts 2 15 pci clock cycles. 1: primary discard timer counts 2 10 pci clock cycles. reset to 0 25 secondary master timeout rw determines the maximum number of pci clock cycles the bridge waits for an initiator on the secondary interface to re peat a delayed transaction request. 0: secondary disc ard timer counts 2 15 pci clock cycles. 1: secondary disc ard timer counts 2 10 pci clock cycles. reset to 0 26 master timeout status rwc this bit is set to 1 when either the primary master timeout counter or secondary master timeout counter expires. reset to 0 27 discard timer p_serr# enable rw this bit is set to 1 and p_serr# is asse rted when either the primary discard timer or the secondary discard timer expire. 0: p_serr# is not asserted on the primar y interface as a result of the expiration of either the primary discard timer or the secondary discard timer. 1: p_serr# is asserted on the primary in terface as a result of the expiration of either the primary discard timer or the secondary discard timer. reset to 0 31-28 reserved ro reserved. retu rns 0 when read. reset to 0. 13.2.29 subsystem vendor id register ? offset 40h bit function type description 15:0 subsystem vendor id rw subsystem vendor id for add-in card manufacturers. reset to 0 13.2.30 subsystem id register ? offset 40h bit function type description 31:16 subsystem id rw subsystem id for add-in card manufacturers. reset to 0 13.2.31 diagnostic/chip contro l register ? offset 44h bit function type description 0 reserved ro reserved. retu rns 0 when read. reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 69 of 82 march 20, 2007 ? revision 1.01 bit function type description 1 memory write disconnect control rw controls when the bridge (as a targ et) disconnects memory write transactions. 0: memory write disconnects at 4kb aligned address boundary 1: memory write disconnects at cache line aligned address boundary reset to 0 3:2 reserved ro reserved. retu rns 0 when read. reset to 0. 4 secondary bus prefetch disable rw controls the bridge?s ability to prefetch duri ng upstream memory read transactions 0: bridge prefetches and does not forward byte enable bits during upstream memory read transactions. 1: bridge requests only 1 dword from the ta rget and forwards read byte enable bits during upstream memory reads. reset to 0 7:5 reserved ro reserved. retu rns 0 when read. reset to 0 8 chip reset rwr controls the chip and secondary bus reset. 0: bridge is ready for operation 1: causes bridge to perform a chip reset. data buffers, configuration registers, and both primary and secondary are reset to their initial states. bridge clears this bit once chip reset is complete. bridge can then be reconfigured. 9 test mode 1 rw controls the ab ility to test bridge?s behavior 0: minimum of 8 free space in data fifo to accept memory burst writes 1: minimum of 1 free space in data fifo to accept memory burst writes reset to 0 11:10 test mode 2 rw controls the ability to test bridge?s behavior 00: enable out of order transac tions between all 4 dtr requests 01: accept 3 dtr requests at a time and they may be out of order 10: only the 2 dtr requests at the top of the 2 fifo?s may be out of order 11: no out of order transactions supported between dtr requests reset to 00 12 test mode 3 rw controls the ab ility to test bridge?s behavior 0: 4 memory write transactions can be accepted at a time 1: 2 memory write transactions can be accepted at a time reset to 0 15:13 reserved ro reserved. returns 000 when read. reset to 000. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 70 of 82 march 20, 2007 ? revision 1.01 13.2.32 arbiter control re gister ? offset 44h bit function type description 19:16 arbiter control rw each bit controls whether a s econdary bus master is assigned to the high priority group or the low priority group. bits [19:16] correspond to request inputs s_req#[3:0] 0: low priority 1: high priority reset to 0 24:20 reserved ro reserved. retu rns 0 when read. reset to 0. 25 priority of secondary interface rw controls whether the secondary interface of the bridge is in the high priority group or the low priority group. 0: low priority 1: high priority reset to 1 31:26 reserved ro reserved. retu rns 0 when read. reset to 0. 13.2.33 extended chip contro l register ? offset 48h bit function type description 0 memory read flow through enable rw 0: disable flow through during a memory read transaction 1: enable flow through during a memory read transaction reset to 0 1 park rw controls bus arbiter?s park function 0: park to last master 1: park to the bridge ? secondary port reset to 0 2 downstream dynamic prefetching control rw controls the downstream (p to s) memory read line and memory read multiple prefetching dynamic control 0: enable the downstream memory r ead line and memory read multiple prefetching dynamic control 1: disable the downstream memory r ead line and memory read multiple prefetching dynamic control reset to 0 3 upstream dynamic prefetching control rw controls the upstream (s to p) memory read line and memory read multiple prefetching dynamic control 0: enable the upstream memory read lin e and memory read multiple prefetching dynamic control 1: disable the upstream memory read lin e and memory read multiple prefetching dynamic control reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 71 of 82 march 20, 2007 ? revision 1.01 bit function type description 4 memory read data buffer control rw ability to control bridge?s behavior when the data buffer is empty 0: start returning memory read data right away and inserts wait states if the data buffer is empty 1: start returning memory read data af ter 1 cache line of data and disconnects the master if the data buffer is empty reset to 0 15:5 reserved ro reserved. returns 0 when read. reset to 0 13.2.34 secondary bus arbiter preem ption control register ? offset 4ch bit function type description 31:28 secondary bus arbiter preemption control rw controls the number of clock cycles after frame is asserted before preemption is enabled. 1xxx: preemption off 0000: preemption enabled after 0 clock cycles after frame asserted 0001: preemption enabled after 1 cl ock cycle after frame asserted 0010: preemption enabled after 2 clock cycles after frame asserted 0011: preemption enabled after 4 clock cycles after frame asserted 0100: preemption enabled after 8 clock cycles after frame asserted 0101: preemption enabled after 16 cloc k cycles after frame asserted 0110: preemption enabled after 32 cloc k cycles after frame asserted 0111: preemption enabled after 64 cloc k cycles after frame asserted 13.2.35 p_serr# event disable register ? offset 64h bit function type description 0 reserved ro reserved. retu rns 0 when read. reset to 0 1 posted write parity error rw controls bridge?s ability to assert p_serr# when it is unable to transfer any read data from the target after 2 24 attempts. 0: p_serr# is asserted if this event occurs and th e serr# enable bit in the command register is set. 1: p_serr# is not asserted if this event occurs. reset to 0 2 posted write non-delivery rw controls bridge?s ability to assert p_serr# when it is unable to transfer delayed write data after 2 24 attempts. 0: p_serr# is asserted if this event occurs and th e serr# enable bit in the command register is set 1: p_serr# is not asserted if this event occurs reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 72 of 82 march 20, 2007 ? revision 1.01 bit function type description 3 target abort during posted write rw controls bridge?s ability to assert p_serr# when it receives a target abort when attempting to deliver posted write data. 0: p_serr# is asserted if this event occurs and th e serr# enable bit in the command register is set 1: p_serr# is not asserted if this event occurs reset to 0 4 master abort on posted write rw controls bridge?s ability to assert p_serr# when it receives a master abort when attempting to deliver posted write data. 0: p_serr# is asserted if this event occurs and th e serr# enable bit in the command register is set 1: p_serr# is not asserted if this event occurs reset to 0 5 delayed write non-delivery rw controls bridge?s ability to assert p_serr# when it is unable to transfer delayed write data after 2 24 attempts. 0: p_serr# is asserted if this event occurs and th e serr# enable bit in the command register is set 1: p_serr# is not asserted if this event occurs reset to 0 6 delayed read ? no data from target rw controls bridge?s ability to assert p_serr# when it is unable to transfer any read data from the target after 2 24 attempts. 0: p_serr# is asserted if this event occurs and th e serr# enable bit in the command register is set 1: p_serr# is not asserted if this event occurs reset to 0 7 reserved ro reserved. retu rns 0 when read. reset to 0 13.2.36 secondary clock control register ? offset 68h bit function type description 1:0 s_clkout[0] disable rw s_clkout[0] (slot 0) enable 00: enable s_clkout[0] 01: enable s_clkout[0] 10: enable s_clkout[0] 11: disable s_clkout[0] and driven low reset to 00 3:2 clock 1 disable rw s_clkout[1] (slot 1) enable 00: enable s_clkout[1] 01: enable s_clkout[1] 10: enable s_clkout[1] 11: disable s_clkout[1] and driven low reset to 00 07-0067
pi7c8140a 2-port pci-to-pci bridge page 73 of 82 march 20, 2007 ? revision 1.01 bit function type description 5:4 clock 2 disable rw s_clkout[2] (slot 2) enable 00: enable s_clkout[2] 01: enable s_clkout[2] 10: enable s_clkout[2] 11: disable s_clkout[2] and driven low reset to 00 7:6 clock 3 disable rw s_clkout[3] (slot 3) enable 00: enable s_clkout[3] 01: enable s_clkout[3] 10: enable s_clkout[3] 11: disable s_clkout[3] and driven low reset to 00 8 reserved ro reserved. reset to 0 13:9 reserved ro rese rved. reset to 1fh 15:14 reserved ro rese rved. reset to 00 13.2.37 p_serr# status re gister ? offset 68h bit function type description 16 address parity error rwc 1: signal p_serr# was asserted because an address parity error was detected on p or s bus. reset to 0 17 posted write data parity error rwc 1: signal p_serr# was asserted because a posted write data parity error was detected on the target bus. reset to 0 18 posted write non-delivery rwc 1: signal p_serr# was asserted because the bridge was unable to deliver post memory write data to the target after 2 24 attempts. reset to 0 19 target abort during posted write rwc 1: signal p_serr# was asserted because th e bridge received a target abort when delivering post memory write data. reset to 0. 20 master abort during posted write rwc 1: signal p_serr# was asserted because th e bridge received a master abort when attempting to deliver post memory write data reset to 0. 21 delayed write non-delivery rwc 1: signal p_serr# was asserted becaus e the bridge was unable to deliver delayed write data after 2 24 attempts. reset to 0 22 delayed read ? no data from target rwc 1: signal p_serr# was asserted because th e bridge was unable to read any data from the target after 2 24 attempts. reset to 0. 23 delayed transaction master timeout rwc 1: signal p_serr# was asserted because a master did not repeat a read or write transaction before master timeout. reset to 0. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 74 of 82 march 20, 2007 ? revision 1.01 13.2.38 clkrun register ? offset 6ch bit function type description 24 secondary clock stop status ro 0: secondary clock not stopped 1: secondary clock stopped. reset to 0 25 secondary clkrun enable rw 0: disable secondary clkrun 1: enable secondary clkrun reset to 0 26 primary clock stop rw 0: allow primary clock to stop if secondary clock is stopped 1: always keep primary clock running reset to 0 27 primary clkrun enable rw 0: disable primary clkrun 1: enable primary clkrun reset to 0 28 clkrun mode rw 0: stop the secondary clock only on request from the primary bus 1: stop the secondary clock whenever the secondary bus is idle and there are no requests from the primary bus reset to 0 31:29 reserved ro reserved. reset to 0. 13.2.39 port option register ? offset 74h bit function type description 0 reserved ro reserved. reset to 0 1 primary memory read command alias enable rw controls bridge?s detection mechanism for matching memory read retry cycles from the initiator on the primary interface 0: exact matching memory read retry cycles from initiator on the primary interface 1: alias memrl or memrm to memr for memory read retry cycles from the initiator on the primary interface reset to 1 2 primary memory write command alias enable rw controls bridge?s detection mechanis m for matching non-posted memory write retry cycles from the initiator on the primary interface 0: exact matching for non-posted memory read retry cycles from initiator on the primary interface 1: alias memwi to memw for non-poste d memory read retry cycles from initiator on the primary interface reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 75 of 82 march 20, 2007 ? revision 1.01 bit function type description 3 secondary memory read command alias enable rw controls bridge?s detection mechanism for matching memory read retry cycles from the initiator on the secondary 0: exact matching for memory read retr y cycles from initiator on the secondary interface 1: alias memrl or memrm to memr for memory read retry cycles from initiator on the secondary interface reset to 1 4 secondary memory write command alias enable rw controls bridge?s detection mechanis m for matching non-posted memory write retry cycles from the initiator on the primary interface 0: exact matching for non-posted memory write retry cycles from initiator on the secondary interface 1: alias memwi to memw for non-poste d memory write retry cycles from initiator on the secondary interface reset to 0 5 primary memory read line/multiple alias enable rw control?s bridge?s detection mechanism for matching memory read line/multiple cycles from the initiator on the primary interface 0: exact matching for memory read line/mu ltiple retry cycles from the initiator on the primary interface 1: alias memrl to memrm or memrm to memrl for memory read retry cycles from the initiator on the primary interface reset to 1 6 secondary memory read line/multiple alias enable rw control?s bridge?s detection mechanism for matching memory read line/multiple cycles from the initiato r on the secondary interface 0: exact matching for memory read line/mu ltiple retry cycles from the initiator on the secondary interface 1: alias memrl to memrm or memrm to memrl for memory read retry cycles from the initiato r on the secondary interface reset to 1 7 primary memory write and invalidate command alias disable rw controls bridge?s detection mechanis m for matching non-posted memory write and invalidate cycles from the initiator on the primary interface 0: when accepting memwi command at the primary interface, bridge converts memwi to memw command on the destination interface 1: when accepting memwi command at th e primary interface, bridge does not convert memwi to memw comma nd on the destination interface reset to 0 8 secondary memory write and invalidate command alias disable rw controls bridge?s detection mechanis m for matching non-posted memory write and invalidate cycles from the initiator on the secondary interface 0: when accepting memwi command at the secondary interface, bridge converts memwi to memw command on the destination interface 1: when accepting memwi command at the secondary interface, bridge does not convert memwi to memw comma nd on the destination interface reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 76 of 82 march 20, 2007 ? revision 1.01 bit function type description 9 enable long request rw controls bridge?s ability to enab le long requests for lock cycles 0: normal lock operation 1: enable long request for lock cycle reset to 0 10 enable secondary to hold request longer rw control?s bridge?s ability to enable th e secondary bus to hold requests longer. 0: internal secondary master will release req# after frame# assertion 1: internal secondary master will hold req# until there is no transactions pending in fifo or until terminated by target reset to 1 11 enable primary to hold request longer rw control?s bridge?s ability to hold requests longer at the primary port. 0: internal primary master will release req# after frame# assertion 1: internal primary master will hold re q# until there is no transactions pending in fifo or until terminated by target reset to 1 15:12 reserved ro reserved. retu rns 0 when read. reset to 0. 13.2.40 capability id register ? offset 80h bit type description function 7:0 enhanced capabilities id ro read as 01h to indicate that these ar e power management enhanced capability registers. 13.2.41 next item pointer register ? offset 80h bit function type description 15:8 next item pointer ro read as 90h. no other ecp registers. 13.2.42 power management capabilities register ? offset 80h bit function type description 18:16 power management revision ro read as 010 to indicate the device is compliant to revision 1.1 of pci power management interface specifications. 19 pme# clock ro read as 0 to indicat e bridge does not support the pme# pin. 20 auxiliary power ro read as 0 to indicate bridge does not support the pme# pin or an auxiliary power source. 21 device specific initialization ro read as 0 to indicate bridge does not have device specific initialization requirements. 24:22 reserved ro read as 0 25 d1 power state support ro read as 1 to indicate bridge supports the d1 power management state. 26 d2 power state support ro read as 1 to indicate bridge supports the d2 power management state. 31:27 pme# support ro read as 0 to indicat e bridge does not support the pme# pin. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 77 of 82 march 20, 2007 ? revision 1.01 13.2.43 power management data register ? offset 84h bit function type description 1:0 power state rw indicates the current power state of the bridge. if an unimplemented power state is written to this register, the bridge co mpletes the write transaction, ignores the write data, and does not change the value of the field. writing a value of d0 when the previous state was d3 cause a chip reset without asserting s_reset# 00: d0 state 01: d1 state 10: d2 state 11: d3 state reset to 0 7:2 reserved ro read as 0 8 pme# enable ro read as 0 as the bridge does not support the pme# pin. 12:9 data select ro read as 0 as th e data register is not implemented. 14:13 data scale ro read as 0 as the data register is not implemented. 15 pme status ro read as 0 as the pme# pin is not implemented. 13.2.44 primary master timeout co unter register ? offset 88h bit function type description 15:0 primary timeout rw primary timeout occurs after 2 15 pci clocks. reset to 8000h. 13.2.45 secondary master timeout counter regi ster ? offset 88h bit function type description 31:16 secondary timeout rw secondary timeout occurs after 2 15 pci clocks. reset to 8000h. 13.2.46 capability id register ? offset 90h bit function type description 7:0 enhanced capabilities id ro read as 06h to indicate that these ar e power management enhanced capability registers. 13.2.47 next item pointer register ? offset 90h bit function type description 15:8 next item pointer ro read as 00h. no other ecp registers. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 78 of 82 march 20, 2007 ? revision 1.01 13.2.48 hot swap capability structure register ? offset 90h bit function type description 16 device hide active rw 0: device is not hidden and pci transac tions are allowed during extraction state 1: device is hidden and pci transactions are not allowed during extraction state reset to 0 17 enum# signal mask rw 0: enable enum# signal 1: mask enum# signal reset to 0 18 reserved ro reserved. reset to 0 19 led on/off rw 0: led on 1: led off reset to 1 21:20 reserved ro reserved. reset to 00 22 extraction status rwc assertion of enum# based on a device being extracted 0: enum# asserted 1: enum# not asserted reset to 0 23 insertion status rwc assertion of enum# based on a device being inserted 0: enum# not asserted 1: enum# asserted reset to 0 13.2.49 hot swap switch register ? offset 94h bit function type description 0 soft hot swap extraction switch rw 0: pending extraction of board 1: board is in the inserted state 7:1 reserved ro reserved. reset to 0. 13.2.50 miscellaneous control register ? offset c0h bit function type description 8 legacy isa i/o enable rw 0: the following i/o addresses will not be claimed by the bridge and will not be forwarded on to the secondary bus 1: the following i/o addresses will be forwarded on to the secondary bus game port: 0200h ? 0207h fm: 0388h ? 038bh audio: 0220h ? 0233h midi: 0330h ? 0331h reset to 0 07-0067
pi7c8140a 2-port pci-to-pci bridge page 79 of 82 march 20, 2007 ? revision 1.01 bit function type description 15:9 reserved ro reserved. reset to 0 14 electrical and timing specifications 14.1 maximum ratings (above which the useful life may be impaired. for user guidelines not tested). storage temperature -65 note: stresses greater than those listed under maximum ratings may cause permanent damage to the device. this is a stress rating only and functional operation of the device at these or any conditions above those indicated in the operational sections of this specification is not implied. exposure to absolute maximum rating conditions for extended periods of time may affect reliability. 14.2 dc specifications symbol parameter condition min. max. units notes v dd , av cc supply voltage 3 3.6 v v ih input high voltage 0.5 v dd v dd + 0.5 v 3, 4 v il input low voltage -0.5 0.3 v dd v 3, 4 v ih cmos input high voltage 0.7 v dd v dd + 0.5 v 1, 4 v il cmos input low voltage -0.5 0.3 v dd v 1, 4 v ipu input pull-up voltage 0.7 v dd v 3 i il input leakage current 0 < v in < v dd notes: 1. cmos input pins: scan_en, scan_tm# 2. pci pins: p_ad[31:0], p_cbe[3:0], p_par, p_frame#, p_irdy#, p_trdy#, p_devsel#, p_stop#, p_lock#, p_idsel, p_perr#, p_ serr#, p_req#, p_gnt#, p_rst, s_ad[31:0], s_cbe[3:0], s_par, s_frame#, s_irdy#, s_ trdy#, s_devsel#, s_stop#, s_lock#, s_perr#, s_serr#, s_req#[3:0], s_ gnt#[3:0], s_rst#, loo, enum#. 3. v dd is in reference to the v dd of the input device. 07-0067
pi7c8140a 2-port pci-to-pci bridge 14.3 ac specifications figure 14-1 pci signal timing measurement conditions 66 mhz 33 mhz symbol parameter min. max. min. max. units tsu input setup time to clk ? bused signals 1,2,3 3 - 7 - tsu(ptp) input setup time to clk ? point-to-point 1,2,3 5 - 10, 12 4 - th input signal hold time from clk 1,2 0 - 0 - tval clk to signal valid delay ? bused signals 1,2,3 2 page 80 of 82 march 20, 2007 ? revision 1.01 6 2 11 tval(ptp) clk to signal valid delay ? point-to-point 1,2,3 2 6 2 12 ton float to active delay 1,2 2 ns - 2 - active to float delay 1,2 toff - 14 - 28 1. see figure 14-1 pci signal timing measurement conditions. 2. all primary interface signals are synchronized to p_clk. all secondary interface signals are synchronized to s_clkout. 3. point-to-point signals are p_req#, s_req#[3:0], p_gnt#, s_gnt#[3:0], loo, and enum#. bused signals are p_ad, p_cbe#, p_par, p_perr#, p_serr#, p_frame#, p_irdy#, p_trdy#, p_lock#, p_devsel#, p_stop#, p_idsel, s_ad, s_cbe#, s_par, s_perr#, s_serr#, s_frame#, s_irdy#, s_trdy#, s_ lock#, s_devsel#, and s_stop#. 4. req# signals have a setup of 10ns and gnt# signals have a setup of 12ns. 07-0067
pi7c8140a 2-port pci-to-pci bridge page 81 of 82 march 20, 2007 ? revision 1.01 14.4 66mhz timing symbol parameter condition min. max. units t skew skew among s_clkout[9:0] 0 0.250 t delay delay between pclk and s_clkout[9:0] 20pf load 2.91 4.22 t cycle p_clk, s_clkout[9:0] cycle time 15 30 t high p_clk, s_clkout[9:0] high time 6 t low p_clk, s_clkout[9:0] low time 6 ns 14.5 33mhz timing symbol parameter condition min. max. units t skew skew among s_clkout[9:0] 0 0.250 t delay delay between pclk and s_clkout[9:0] 20pf load 2.91 4.22 t cycle p_clk, s_clkout[9:0] cycle time 30 t high p_clk, s_clkout[9:0] high time 11 t low p_clk, s_clkout[9:0] low time 11 ns 14.6 power consumption parameter typical units power consumption at 66mhz 759 mw supply current, i cc 230 ma note: values derived with v cc = 3.3v @ 25c 07-0067
pi7c8140a 2-port pci-to-pci bridge 15 package information 15.1 128-pin qfp package outline figure 15-1 128-pin qfp package outline thermal characteristics can be found on the web: http://www.pericom.com/packaging/mechanicals.php 15.2 part number ordering information part number speed pin ? package temperature PI7C8140AMA 66 mhz 128 ? qfp 0c to 85c PI7C8140AMAe 66 mhz 128 ? qfp (pb-free) 0c to 85c page 82 of 82 march 20, 2007 ? revision 1.01 07-0067


▲Up To Search▲   

 
Price & Availability of PI7C8140AMA

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X